Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Funktionstasten belegen

Funktionstasten belegen
23.05.2006 12:37:18
CDI1965
Hi,
in einem Userform gibt es z.B. für den COMMAND-Button die Eigenschaft ACCELERATOR in die ich einen Buchstaben eingebe und dann wird die Schaltfläche mit ALT+Buchstabe ausgeführt.
Kann ich irgendwie auch die F1 - F12 so "umbiegen und die Tasten in einem Usrform zu belegen?
Danke
CDI1965
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktionstasten belegen
23.05.2006 12:38:39
Uduuh
Hallo,
siehe Application.OnKey-Methode
Gruß aus’m Pott
Udo

AW: Funktionstasten belegen
23.05.2006 13:00:39
cdi1965
Hi.
ich habe verschiedenes probiert aber nichts hat funktioniert.
z.B.
bei Laden des userforms
Application.OnKey "a", UF_Verkauf.cmd1_plus()
es soll der Button cmd1_plus ausgeführt werden
auch mit "" hat es nicht funktioniert
Application.OnKey "a", "UF_Verkauf.cmd1_plus()"
Wie und wo muss die Zeile hin?
Danke
CDI1965
Anzeige
AW: Funktionstasten belegen
23.05.2006 13:15:18
Michael
Hi,
fast richtig.
Nicht den Namen der Schaltfläche sondern den Namen des Makros, das bei Klick auf die Schaltfläche ausgeführt wird.
In Anfangsthread hattest Du geschrieben, Du möchtest die Funktionstasten F1 - F12 umbiegen. Deshalb mein Beispiel nicht mit Taste "a" sondern mit Taste "F1":
Taste F1 mit Makro belegen:
Application.OnKey "{F1}", ""
Standardbelegung wiederherstellen
Application.OnKey "{F1}"
Willst Du es genauer wissen, empfehle ich die VBA-Hilfe für die OnKey-Methode. Da steht's genau drin, wie's geht, auch wie die Syntax für die verschiedenen Sondertasten lautet.
Gruss
Michael
Anzeige
AW: Funktionstasten belegen
23.05.2006 13:16:11
Michael
Hi,
fast richtig.
Nicht den Namen der Schaltfläche sondern den Namen des Makros, das bei Klick auf die Schaltfläche ausgeführt wird.
In Anfangsthread hattest Du geschrieben, Du möchtest die Funktionstasten F1 - F12 umbiegen. Deshalb mein Beispiel nicht mit Taste "a" sondern mit Taste "F1":
Taste F1 mit Makro belegen:
Application.OnKey "{F1}", "MAKRONAME"
Standardbelegung wiederherstellen
Application.OnKey "{F1}"
Willst Du es genauer wissen, empfehle ich die VBA-Hilfe für die OnKey-Methode. Da steht's genau drin, wie's geht, auch wie die Syntax für die verschiedenen Sondertasten lautet.
Gruss
Michael
Anzeige
AW: Funktionstasten belegen
23.05.2006 13:24:01
cdi1965
Hi,
das ist ja mein Problem. Der Aufruf des Makros.
Das Makro heisst "private sub cmd1_plus_click()" und liegt im Userform. Beim Aufruf erscheint dann Makro nicht gefunden
Mappe1!Userform.cmd1...
Was will Excel hier von mir?
Die Hilfe bringt mich nicht weiter.
Ich habe es zum Laufen bekommen wenn ich kein Userform verwende.
Gruss
CDI1965
Anzeige
AW: Funktionstasten belegen
23.05.2006 13:31:09
Michael
Die Makros, die durch die Application.OnKey-Methode aufgerufen werden, müssen als Public deklariert sein.
Ob man Klick-Ereignisse Public deklarieren kann, weiss ich auch nicht, ich glaub' aber nicht.
Probier's einfach mal:
Public sub cmd1_plus_click()
Ich glaub' aber nicht, dass das geht.
Du müsstest dann den Code, der in cmd1_plus_click() steht, in eine andere Prozedur "auslagern" und diese Public deklarieren.
Gruss
Michael
Anzeige
AW: Funktionstasten belegen
23.05.2006 13:41:58
cdi1965
Hi,
selbst das geht nicht. Anscheinend wird ONKEY komplett bei Userforms ignoriert.
Trotzdem Danke
CDI1965
AW: Funktionstasten belegen
23.05.2006 15:07:43
Sebastian
Stell doch mal den Quelltext ein, dann kann man vielleicht auch was ändern.
;
Anzeige
Anzeige

Infobox / Tutorial

Funktionstasten in Excel belegen


Schritt-für-Schritt-Anleitung

Um Funktionstasten in Excel zu belegen, kannst du die Application.OnKey-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe in den VBA-Editor (drücke ALT + F11).

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei)", dann "Einfügen" > "Modul".

  3. Schreibe deinen Code. Hier ist ein Beispiel, um die F1-Taste mit einem Makro zu belegen:

    Sub BelegeFunktionstasten()
       Application.OnKey "{F1}", "MeinMakro"
    End Sub
    
    Sub MeinMakro()
       MsgBox "F1 wurde gedrückt!"
    End Sub
  4. Starte das Makro BelegeFunktionstasten, um die Belegung der Funktionstaste zu aktivieren.

  5. Um die Standardbelegung wiederherzustellen, verwende:

    Application.OnKey "{F1}"

Häufige Fehler und Lösungen

  • Fehler: Makro nicht gefunden

    • Stelle sicher, dass der Name des Makros korrekt ist und dass es als Public deklariert ist, wenn du es über Application.OnKey aufrufen möchtest.
  • Fehler: Funktionstasten werden im Userform nicht erkannt

    • Beachte, dass die OnKey-Methode möglicherweise nicht in UserForms funktioniert. Eine mögliche Lösung ist, den Code aus der cmd1_plus_click()-Prozedur in eine separate Public-Prozedur auszulagern.

Alternative Methoden

Falls du die Funktionstasten nicht über Application.OnKey belegen kannst, gibt es alternative Methoden:

  • Verwendung von Shortcut-Keys: Du kannst auch innerhalb von Excel Makros mit Shortcut-Keys belegen, die du im Menüband oder in der Symbolleiste erstellen kannst.
  • VBA-Formulare: Wenn du ein UserForm verwendest, kannst du die Schaltflächen direkt ansprechen, ohne die Funktionstasten zu belegen.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Funktionstasten in Excel belegen kannst:

  1. F2-Taste mit einem bestimmten Inhalt belegen:

    Sub BelegeF2()
       Application.OnKey "{F2}", "F2Makro"
    End Sub
    
    Sub F2Makro()
       Range("A1").Value = "F2 wurde gedrückt!"
    End Sub
  2. F10-Taste, um ein Makro auszuführen:

    Sub BelegeF10()
       Application.OnKey "{F10}", "F10Makro"
    End Sub
    
    Sub F10Makro()
       MsgBox "F10 wurde gedrückt und das Makro ausgeführt!"
    End Sub

Tipps für Profis

  • Benutze OnKey mit Bedacht: Überlege dir gut, welche Funktionstasten du belegst, um Verwirrung zu vermeiden, besonders wenn du häufig genutzte Tasten wie F1 oder F2 belegst.
  • Dokumentiere deine Makros: Halte fest, welche Tasten du belegt hast, um zukünftige Probleme zu vermeiden.
  • Teste in verschiedenen Umgebungen: Manchmal kann die Funktionalität von Application.OnKey je nach Excel-Version unterschiedlich sein.

FAQ: Häufige Fragen

1. Kann ich die Belegung der Funktionstasten rückgängig machen?
Ja, du kannst die Standardbelegung mit Application.OnKey "{F1}" (oder der entsprechenden Taste) wiederherstellen.

2. Warum wird mein Makro nicht gefunden, wenn ich die Funktionstasten belege?
Stelle sicher, dass das Makro als Public deklariert ist, um es über die OnKey-Methode anzusprechen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige