Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Userform per F-Taste in Tabellenblatt auftufen
#1
Hallo Forum,

mit folgendem Code der in DieseArbeitsmappe hinterlegt ist rufe ich mit der F1 Taste
eine Userform auf. Ich suche nun einen Weg das sich diese Userform mit der F1 Taste
nur im Tabellenblatt (Tabelle1) aufrufen läst.

Code:
Private Sub Workbook_Activate()
Application.OnKey "{F1}", "Modulname.Macroname"
End Sub.

Ich habe es schon mit folgendem Code probiert aber leider ohne Erfolg.

Code:
Private Sub Worksheet_Activate()
Application.OnKey "{F1}", "Modulname.Macroname"
End Sub.


Besten Dank im Voraus
omron2003
Antworten Top
#2
Wie zeigt sich „kein Erfolg“? Den Makronamen hast du, so unterstelle ich, korrekt geändert.
Dass du die Tastenbelegung beim Deaktivieren des Blattes löschen musst, sollte klar sein. Weitere Ereignisse (mind. Workbook.Activate/Deactivate) sind auch sinnvoll.
Antworten Top
#3
Hi,

also bei mir funktioniert so etwas schon seit Jahren. Hier als Beispiel mit meinem Makro Fahrrad(), das auf Strg-B gelegt wird.
Du brauchst dazu folgendes im Code-Bereich der Arbeitsmappe:
Code:
Private Sub Workbook_Activate()
If Activesheet.Name = "Tabelle1" Then
    Application.OnKey "^b", "Fahrrad"
End If
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "^b"
End Sub

Private Sub Workbook_SheetActivate(ByVal sh As Object)
If sh.Name = "Tabelle1" Then
    Application.OnKey "^b", "Fahrrad"
End If
End Sub

Private Sub Workbook_SheetDeActivate(ByVal sh As Object)
If sh.Name = "Tabelle1" Then
    Application.OnKey "^b"
End If
End Sub

Alternativ kannst du statt der Workbook_SheetXXX-Ereignisse auch die entsprechenden Ereignisse m Code-Bereich des betroffenen Tabellenblatts verwenden.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


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