Excel VBA - UserForm Commandbutton über Shortcut starten

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn es wirklich ein Button im UserForm ist, geht es sehr viel einfacher. Schreibe in die UserForm folgenden Code:

Private Sub UserForm_Initialize()
    CommandButton1.Accelerator = "a"
    'Zugriff über Alt + a
End Sub

Kleiner Nachteil: Du kannst nur Kleinbuchstaben verwenden und es funzt nur mit Alt + Buchstabe (statt Strg + Buchstabe). Großer Vorteil: Du musst den Zahlenwert des "KeyAscii" nicht umständlich ermitteln.

Der Accelerator funzt für alle Zeichen der Tastatur, solange sie nicht mit Zusatztaste (Shift, Alt, AltGr) aufgerufen werden.

Das mit dem "KeyAscii" dagegen geht ausschließlich mit den Buchstaben a bis x, y und z werden ausgeblendet, weil sie auf der englischen Tastatur anders liegen (wie auch die Sonderzeichen. Warum die Zahlen nicht funzen erschließt sich mir nicht)

0

Supi, klappt :-) ... nur schade das STRG nicht geht...

Danke

0

Schreibe ein Makro in ein Modul (im Tabellenblatt geht es nicht), das wie folgt aussieht:

Sub CB_1Tab1()
'
' Tastenkombination: Strg+a
' Ist das Makro des Commanbutton 1 in Tabelle 1

MsgBox "Hallo Welt" 'als Beispiel
'Es folgt dein Code
End Sub

Anschließend geht du in das Tabellenblatt, mit Alt F8 öffnest du den Makros-Dialog, dort markierst du dein Makro (blau!) und gehst auf Optionen, hier stellst du dann deine Tastenkombination ein.

Zum Schluss hinterlegst du für den Commandbutton1 den Code:

Private Sub CommandButton1_Click()
Call CB_1Tab1
End Sub
Makros-Dialog - (Excel, Office, VBA)

Wie in meinem Kommentar schon gesagt, funktioniert' dein Vorschlag auch nur, wenn der TE im Blatt bearbeitet, was er aber scheint's nicht vorhat. Es geht im aber um einen Button in seiner Form und nicht auf dem Blatt.

0

Was möchtest Du wissen?