Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
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