Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

TextBox in erste Zeile springen
#1
Ich habe ein Nachrichtensystem, mit

Datum, Betreff, von, Nachricht

Wenn die Nachricht sehr lang ist, steht der Cursor immer in der letzten "Zeile".

Wie bekomme ich es hin, dass er in die erste "Zeile" springt?

schon mit dem Code probiert, aber er funzt nicht.

      txtnachricht.SelStart = 700 'in Zeile 700 springen um Scrollbalken zu aktivieren
      txtnachricht.SetFocus 'Scrollbar anzeigen
      txtnachricht.SelStart = 0 'in Zeile 0 springen

Userform:
Code:
Private Sub cobantwort_Click()

Unload Me

Dim varF As Variant

With Worksheets("Nachrichten").Range("A2:A15")
    varF = Application.Match(Me.txtvon.Value, .Cells, 0)
    'varF = Application.Match(Me.txtMitarbeiter.Value, Worksheets("Nachrichten").Cells, 0)
    If IsNumeric(varF) Then
   
If .Cells(varF, 6) = 1 And .Cells(varF, 1) = .Cells(varF, 3) Then

Nachrichten!txtMitarbeiter.Value = txtvon.Value
Nachrichten!txtbetreff.Value = "AW: " & txtbetreff.Value
Nachrichten!txtnachricht.Value = "" & vbLf & vbLf & vbLf & "Ursprüngliche Nachricht von " & txtvon.Value & ": " & vbLf & txtnachricht.Value

Nachrichten!Label5 = "Auf die Nachricht von " & txtvon.Value & " antworten."
Antwort = "ja"

Nachrichten.Show

Exit Sub
End If

If .Cells(varF, 6) = 1 Then

    MsgBox "Das Postfach von " & """" & txtvon & """" & " ist voll!" & vbLf & vbLf & "Alte Nachricht muss " & """" & txtvon & """" & " erstmal löschen." & vbLf & vbLf & "Bitte später nochmal probieren!", vbYes, "Fehler beim antworten!"
    Else
   
Nachrichten!txtMitarbeiter.Value = txtvon.Value
Nachrichten!txtbetreff.Value = "AW: " & txtbetreff.Value
Nachrichten!txtnachricht.Value = "" & vbLf & vbLf & vbLf & "Ursprüngliche Nachricht von " & txtvon.Value & ": " & vbLf & txtnachricht.Value

Nachrichten!Label5 = "Auf die Nachricht von " & txtvon.Value & " antworten."
Antwort = "ja"

Nachrichten.Show
     
      End If
     
      End If
      End With

End Sub


Sub UserForm_Activate()

Dim lngSuch
Dim i As Integer
Dim LRow As Long
Dim rngC As Range

LRow = Worksheets("Nachrichten").Cells(Rows.Count, 1).End(xlUp).Row
lngSuch = Worksheets("Hilfstabelle").Range("D76").Value

Set rngC = Worksheets("Nachrichten").Range("A2:A" & LRow).Find(lngSuch, _
   Worksheets("Nachrichten").Range("A" & LRow), xlValues)

With Bearbeiten
   If Not rngC Is Nothing Then
     
      txtnachricht.SelStart = 700 'in Zeile 700 springen um Scrollbalken zu aktivieren
      txtnachricht.SetFocus 'Scrollbar anzeigen
      txtnachricht.SelStart = 0 'in Zeile 0 springen
   
      txtbetreff = Worksheets("Nachrichten").Cells(rngC.Row, 2)
      txtvon = Worksheets("Nachrichten").Cells(rngC.Row, 3)
      txtDatum = Worksheets("Nachrichten").Cells(rngC.Row, 4)
      txtnachricht = Worksheets("Nachrichten").Cells(rngC.Row, 5)
           
   Else
      MsgBox "Es sind keine Nachricht vorhanden!", vbOKOnly, "Meldung"
   End If
End With

End Sub

Sub cobnachrichtlöschen_Click()

Dim lngSuch
Dim i As Integer
Dim LRow As Long
Dim rngC As Range

If Sheets("Nachrichten").ProtectContents = True Then
Blattschutz = "ja"
Sheets("Nachrichten").Unprotect Worksheets("Einstellungen").Range("P19").Value 'Blattschutz aufheben
End If

LRow = Worksheets("Nachrichten").Cells(Rows.Count, 1).End(xlUp).Row
lngSuch = Worksheets("Hilfstabelle").Range("D76").Value

Set rngC = Worksheets("Nachrichten").Range("A2:A" & LRow).Find(lngSuch, _
   Worksheets("Nachrichten").Range("A" & LRow), xlValues)

With Bearbeiten
   If Not rngC Is Nothing Then
   
   strAntwort = MsgBox("Willst Du wirklich die Nachricht von " & """" & txtvon & """" & " löschen?", vbYesNo, "Nachricht löschen")
   
   If strAntwort = vbYes Then
   
      Worksheets("Nachrichten").Cells(rngC.Row, 2) = ""
      Worksheets("Nachrichten").Cells(rngC.Row, 3) = ""
      Worksheets("Nachrichten").Cells(rngC.Row, 4) = ""
      Worksheets("Nachrichten").Cells(rngC.Row, 5) = ""
      Worksheets("Nachrichten").Cells(rngC.Row, 6) = ""
      MsgBox "Die Nachricht wurde gelöscht!", vbOKOnly, "Nachricht löschen"
     
    If Sheets("Startseite").ProtectContents = True Then
    BlattschutzStartseite = "ja"
    Sheets("Startseite").Unprotect Worksheets("Einstellungen").Range("P19").Value 'Blattschutz aufheben
    End If

    Worksheets("Startseite").Range("P3").Value = ""

    If BlattschutzStartseite = "ja" Then
    Sheets("Startseite").Protect Worksheets("Einstellungen").Range("P19").Value 'Blattschutz setzen
    End If
     
      End If
     
      Unload Me
   Else
      MsgBox "Nachricht konnte nicht gelöscht werden!", vbOKOnly, "Fehler!"
   End If
End With

  If Blattschutz = "ja" Then
    Sheets("Nachrichten").Protect Worksheets("Einstellungen").Range("P19").Value 'Blattschutz setzen
    End If

End Sub

Private Sub UserForm_Initialize()

Label5 = Worksheets("Hilfstabelle").Range("D76").Value
     
End Sub

Sub cobschliessen_Click()

Unload Me

End Sub

Vielen Dank für Eure Unterstützung
Antworten Top
#2
Hallo, 19 

TextBox1.SelStart = 0 funktioniert schon. In deinem Code schreibst du es aber VOR...

Code:
txtnachricht = Worksheets("Nachrichten").Cells(rngC.Row, 5)

Damit springst du wieder ans Ende der TextBox. Das muss NACH dieser Codezeile kommen.

.xlsb   UF_UserForm_TextBox_MultilIne_erste_Zeile_CEF.xlsb (Größe: 18,48 KB / Downloads: 1)

In meiner Beispieldatei siehst du, während die MsgBox offen ist, dass er am Ende der TextBox ist. Nach Klick auf OK springt er an den Anfang der TextBox. 21
________
Servus
Case
Antworten Top
#3
Vielen Dank

manchmal ist man richtig blind!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste