Steuern eines UserForm über Tasteneingabe

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Steuern eines UserForm über Tasteneingabe von: Thorsten
Geschrieben am: 05.02.2005 15:52:01

Hallo Leute,

ich stehe vor folgendem Problem.

Ich habe ein UserForm mit drei OptionButtons,
einen links, einen in der Mitte und einen rechts.

Wenn ich das UserForm lade, habe ich den zweiten
OptionButton mit

UserForm1.OptionButton2.Value = True

aktiviert, weil das derjenige ist, der am Häufigsten
ausgewählt wird.

Den linken OptionButton würde ich gerne über die
linke Pfeil-Taste aktivieren können und den rechten
über die rechte Pfeiltaste.

Ich habe das schon mit Application.OnKey probiert
also quasi:

Application.OnKey "{LEFT}", "links"

und


Sub links()
    UserForm1.OptionButton1.Value = True
End Sub



Das funktioniert aber nicht, da die Funktion
Onkey offensichtlich nicht ausgelöst wird,
wenn ein UserForm aktiv ist.

Kennt von euch jemand eine andere Möglichkeit
über die Tasteneingabe ein UserForm zu steuern.

Vorab vielen Dank für eure Vorschläge.

Grüsse,
Thorsten
Bild


Betrifft: AW: Steuern eines UserForm über Tasteneingabe von: Ulf
Geschrieben am: 05.02.2005 16:55:52

Nutz das Ereignis KeyDown der Optionbutton, ist aber eine ziemliche Bastelei.

Ulf


Bild


Betrifft: AW: Steuern eines UserForm über Tasteneingabe von: Thorsten
Geschrieben am: 05.02.2005 19:48:03

Ulf, ich danke für den Tipp.

Das Ergebnis sieht für OptionButton2 jetzt wie folgt aus:


Private Sub OptionButton2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyRight Then
    
        UserForm1.OptionButton3.Value = True
        UserForm1.OptionButton3.SetFocus
        
    ElseIf KeyCode = vbKeyLeft Then
    
        UserForm1.OptionButton1.Value = True
        UserForm1.OptionButton1.SetFocus
        
    ElseIf KeyCode = vbKeyReturn Then
        
        Unload UserForm1
    End If
End Sub


Danke nochmals.

Grüße,
Thorsten


Bild


Betrifft: AW: Steuern eines UserForm über Tasteneingabe von: bernie-k
Geschrieben am: 09.02.2005 13:44:07

Hi, Thorsten,

versorge zunächst den TabIndex (OptionButton1 = 1, OptionButton2 = 2 und OptionButton3 = 3). Dann den Focus auf OptionButton2 setzen: UserForm1.OptionButton2.SetFocus.
Jetzt müsste es funzen.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Steuern eines UserForm über Tasteneingabe"