Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Cursor in TextBox (UserForm) setzen

Cursor in TextBox (UserForm) setzen
Tim
Hallo,
Ich habe eine UserForm, die eine TextBox, eine ComboBox und einen CommandButton enthält.
In der UserForm gibt man in der TextBox etwas ein und startet dann durch den CommandButton ein Makro (die ComboBox ist optional).
Das klappt soweit alles gut nur wenn ich die UserForm erneut aufrufe, blinkt in der TextBox der Cursor nicht mehr, d.h. ich muss jedes Mal erst dorthin klicken, um dann etwas eingeben zu können.
Kann mir jemand sagen, wie ich das verhindern bzw. beim Schließen / Öffnen der UserForm als Default setzen kann ?
VG und vielen Dank im Voraus für jeden Tipp,
Tim
Anzeige
AW: Cursor in TextBox (UserForm) setzen
22.07.2012 09:39:05
Hajo_Zi
Hallo Tim,
bei Activate Textbox1.setFocus

AW: Cursor in TextBox (UserForm) setzen
22.07.2012 09:48:35
Tim
Hallo Hajo,
vielen Dank für die schnelle Antwort !
Kann ich das in folgenden Code integrieren und wenn ja, wie ?
Das ist der Code für den CommandButton:
Private Sub StartSearch_Click()
Worksheets(7).Range("E2") = SearchTerm
Worksheets(7).Range("E3") = ComboBox61
Call Find
SearchTerm = ""
UserForm6.Hide
End Sub
Oder muss das in den Code zur Anzeige der UserForm und wenn ja, wie ?
Das ist der Code für die Anzeige:

Sub ShowUserForm6()
UserForm6.ComboBox61.ListIndex = 0
UserForm6.Show
End Sub
VG,
Tim
Anzeige
AW: Cursor in TextBox (UserForm) setzen
22.07.2012 10:00:59
Hajo_Zi
Hallo Tim,
icvh sehe nicht Deine Dateui und ich sehe auch nicht ob der Code beim Start ausgeführt wird. Du kannst es selbstveständlich auch über einen Umweg machen, falls Dir mein direkter Weg nich gefällt. Das mußt Du aber aus o.g. Gründen selber machen.
Gruß Hajo
Anzeige
AW: Cursor in TextBox (UserForm) setzen
22.07.2012 10:03:57
Tim
Hallo Hajo,
ich mache es gerne selber, ich muss nur wissen wo. :-)
Die UserForm wird durch Klick auf F12 geöffnet (startet das ShowUserForm6-Makro).
Der Button StartSearch ist der CommandButton in der UserForm.
VG,
Tim
AW: Cursor in TextBox (UserForm) setzen
22.07.2012 10:08:30
Hajo_Zi
Hallo Tim,
dann viel Erfiolg. aus schon genannten Gründen kann ich nicht weiter helfen.
Du hast ja schon soviel wissen, das Du feststellen kannst das mein Vorschlag nicht das beste ist.
Gruß Hajo
Anzeige
AW: Cursor in TextBox (UserForm) setzen
22.07.2012 10:32:35
Gerd
Hall Tim,
probiere es einfach aus.
Sub ShowUserForm6()
UserForm6.ComboBox61.ListIndex = 0
UserForm6.Show
UserForm6.TextBox1.SetFocus
End Sub
Gruß Gerd
AW: Cursor in TextBox (UserForm) setzen
22.07.2012 10:39:14
Tim
Hallo Gerd,
das klappt perfekt - vielen Dank für die schnelle und einfache Lösung ! :-)
VG und einen schönen Sonntag noch,
Tim
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Cursor in TextBox (UserForm) setzen


Schritt-für-Schritt-Anleitung

Um den Cursor in der TextBox einer UserForm zu setzen, kannst Du den folgenden VBA-Code verwenden. Dies sorgt dafür, dass der vba textbox cursor beim Öffnen der UserForm automatisch aktiviert wird:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Finde die UserForm, in der Du den Cursor setzen möchtest.

  3. Gehe zum Code-Fenster der UserForm und füge den folgenden Code ein:

    Private Sub UserForm_Initialize()
       TextBox1.SetFocus
    End Sub
  4. Wenn Du die UserForm über ein Makro, z.B. ShowUserForm6, öffnest, stelle sicher, dass Du den vba set cursor position im Code für das Öffnen der UserForm hinzufügst:

    Sub ShowUserForm6()
       UserForm6.ComboBox61.ListIndex = 0
       UserForm6.Show
       UserForm6.TextBox1.SetFocus
    End Sub
  5. Speichere die Änderungen und teste die UserForm. Der cursor in der TextBox sollte jetzt beim Öffnen automatisch gesetzt werden.


Häufige Fehler und Lösungen

  • Cursor blinkt nicht in der TextBox: Überprüfe, ob die SetFocus-Methode im UserForm_Initialize-Ereignis oder im Öffnungscode korrekt implementiert ist.

  • TextBox bleibt nicht aktiv: Stelle sicher, dass keine anderen Steuerelemente den Fokus stehlen. Der Cursor sollte idealerweise direkt nach dem Öffnen der UserForm aktiv sein.


Alternative Methoden

Eine alternative Methode zur Aktivierung des textbox cursor besteht darin, den Fokus über einen Button zu setzen. Du kannst den folgenden Code in das Click-Ereignis eines CommandButtons einfügen:

Private Sub StartSearch_Click()
    ' Dein bestehender Code
    ' ...

    ' Cursor aktivieren
    TextBox1.SetFocus
End Sub

Diese Methode kann nützlich sein, wenn Du den Cursor auch nach bestimmten Aktionen in der UserForm aktivieren möchtest.


Praktische Beispiele

Hier sind zwei Beispiele zur Verwendung des vba cursor in einer UserForm:

  1. Beispiel 1: Cursor beim Öffnen setzen

    Private Sub UserForm_Initialize()
       TextBox1.SetFocus
    End Sub
  2. Beispiel 2: Cursor nach der Eingabe aktivieren

    Private Sub StartSearch_Click()
       ' Eingaben verarbeiten
       ' ...
    
       ' Cursor zurücksetzen
       TextBox1.SetFocus
    End Sub

Diese Beispiele sollten Dir helfen, den vba textbox focus effektiver zu steuern.


Tipps für Profis

  • Nutze die vba get cursor position in textbox, um die aktuelle Cursor-Position in der TextBox zu ermitteln, bevor Du ihn änderst.
  • Du kannst den excel cursor auch nutzen, um visuelle Rückmeldungen zu geben, zum Beispiel durch Ändern des Zeigers, wenn der Cursor über die TextBox bewegt wird.

FAQ: Häufige Fragen

1. Wie kann ich die Cursor-Position in einer TextBox abrufen?
Du kannst die Cursor-Position mit dem folgenden Code abrufen:

Dim pos As Long
pos = TextBox1.SelectionStart

2. Was mache ich, wenn der Cursor nicht bleibt?
Stelle sicher, dass die SetFocus-Methode korrekt platziert ist und dass keine anderen Steuerelemente den Fokus übernehmen. Wenn nötig, setze den Fokus erneut nach bestimmten Aktionen in der UserForm.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige