Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

SetFocus auf CommandButton1

SetFocus auf CommandButton1
24.01.2013 14:31:33
Waltraudt
Hallo zusammen im Forum,
ich habe eine UserForm mit 2 TextBoxes und zwei CommandButton.
Beim Aufruf der UserForm wird der CommandButton1 deaktiviert.
Nachdem die 2. Textox ausgefüllt und per Tab verlassen wurde, wird der CommandButton1 wieder aktiviert.
Wie kann ich nach der Aktivierung des CommandButton1 auch den Focus direkt auf den CommandButton1 legen?
Wer kann mir helfen und den Codeschnipsel ggf. anpassen?
Danke und lG, Waltraudt
Private Sub UserForm_Activate()
CommandButton1.Enabled = False
TextBox1.SetFocus
End Sub

Private Sub TextBox2_AfterUpdate()
CommandButton1.Enabled = Len(TextBox1) And Len(TextBox2)
CommandButton1.SetFocus  'klappt so nicht!
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SetFocus auf CommandButton1
25.01.2013 08:32:30
Nepumuk
Hallo,
das Event ist dazu nicht geeignet. Wenn du dir mal die Mühe machen würdest die Hilfe zu diesen Events zu lesen, dann wäre das auch klar.
Aus der Hilfe zu AfterUpdate:
Das AfterUpdate-Ereignis tritt vor dem Exit-Ereignis für das aktuelle Steuerelement ein.
Aus der Hilfe zu Exit:
Das Exit-Ereignis tritt ein, unmittelbar bevor der Fokus von einem Steuerelement auf ein anderes Steuerelement im gleichen Formular wechselt.
Du kannst, solange der Fokus an ein Control gebunden ist, diesen nicht auf ein anderes Control legen. Einzige Möglichkeit, im Enter-Event des einen Controls kannst du diesen auf ein anderes legen.
Beispiel:
Das Control in der Aktivierreihenfolge nach deiner Textbox2 ist Textbox3. Du willst aber, wenn Textbox1 und Textbox2 ausgefüllt wurden nicht auf Textbox3 sondern auf Commandbutton1 springen.
Option Explicit

Private mblmGotoCommandbutton1 As Boolean

Private Sub TextBox2_AfterUpdate()
    If Cbool(TextBox1.TextLength) And Cbool(TextBox2.TextLength) Then
        CommandButton1.Enabled = True
        mblmGotoCommandbutton1 = True
    End If
End Sub

Private Sub TextBox3_Enter()
    If mblmGotoCommandbutton1 Then
        mblmGotoCommandbutton1 = False
        CommandButton1.SetFocus
    End If
End Sub

Gruß
Nepumuk
Anzeige

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige