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

Alle VBA-Application.OnKey`s zurücksetzen

Forumthread: Alle VBA-Application.OnKey`s zurücksetzen

Alle VBA-Application.OnKey`s zurücksetzen
Martin
Hallo,
mir ist bewusst, wie jede einzelne Tastenkombination zurückgesetzt werden kann, aber vielleicht gibt es auch eine Möglichkeit im Workbook_BeforeClose-Ereignis alle mit VBA gesetzten Application.OnKey - Tastenkombinationen gemeinsam wieder zurückzusetzen? Ich wäre für Vorschläge sehr dankbar!
Viele Grüße
Martin
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Alle VBA-Application.OnKey`s zurücksetzen
24.08.2009 14:35:41
Peter
Hallo Martin,
was spricht gegen ein Makro
Sub F_TastenReset()
On Error Resume Next
Application.OnKey "{F1}"
Application.OnKey "{F2}"
Application.OnKey "{F3}"
Application.OnKey "{F4}"
Application.OnKey "{F5}"
Application.OnKey "{F6}"
Application.OnKey "{F7}"
Application.OnKey "{F8}"
Application.OnKey "{F9}"
Application.OnKey "{F10}"
Application.OnKey "{F11}"
Application.OnKey "{F12}"
End Sub
und einen Aufruf im Workbook_Close als Call F_TastenReset?
Gruß Peter
Anzeige
AW: Alle VBA-Application.OnKey`s zurücksetzen
24.08.2009 14:44:36
Martin
Hallo Peter,
es geht mir ja gerade darum nicht jeden einzelnen Tastaturbefehl aussführen zu müssen. Bei den Funktionstasten ist eine Lösung sehr einfach:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To 12
Application.OnKey "{F" & i & "}"
Next i
End Sub
Aber ich habe auch zahlreiche Tastaturbefehle wie {HOME}, ^{TAB}, ^{ }, ^f, %s usw.
Ich hätte nur die Idee alle Buchstaben in einer Schleife mit Alt, Strg, und Shift durchzugehen. Gibt es echt keine globale Lösung?
Viele Grüße
Martin
Anzeige
Schleife !?
24.08.2009 14:56:42
Ramses
Hallo
So in diesem Sinne
For i ...
application.onkey "" & chr(i) & ""
next
Gruss Rainer
AW: Schleife !?
24.08.2009 15:15:00
Martin
Hallo Rainer,
ja, genau das meinte ich:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
For i = 97 To 122
.OnKey "^" & i
.OnKey "%" & i
.OnKey "+" & i
Next i
End With
End Sub
Scheinbar gibt es keine bessere Lösung... :-(
Die Sonderfälle müssten weiterhin einzeln abgearbeitet werden.
Viele Grüße
Martin
Anzeige
AW: Schleife !?
24.08.2009 15:17:56
Martin
Kleine aber wichtige Korrektur:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
For i = 97 To 122
.OnKey "^" & Chr(i)
.OnKey "%" & Chr(i)
.OnKey "+" & Chr(i)
Next i
End With
End Sub
Gruß, Martin
;
Anzeige
Anzeige

Infobox / Tutorial

Alle VBA-Application.OnKey`s zurücksetzen


Schritt-für-Schritt-Anleitung

Um alle mit VBA gesetzten Application.OnKey Tastenkombinationen zurückzusetzen, kannst du die folgende Methode verwenden. Diese Anleitung geht davon aus, dass du mit Excel VBA vertraut bist.

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster und wähle Einfügen > Modul.

  3. Füge den Code ein: Kopiere den nachfolgenden Code in das Modul:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Dim i As Integer
       With Application
           ' Zurücksetzen der Funktionstasten
           For i = 1 To 12
               .OnKey "{F" & i & "}"
           Next i
           ' Zurücksetzen der Buchstabenkombinationen
           For i = 97 To 122
               .OnKey "^" & Chr(i)
               .OnKey "%" & Chr(i)
               .OnKey "+" & Chr(i)
           Next i
       End With
    End Sub
  4. Speichere das Workbook: Stelle sicher, dass du die Datei im .xlsm-Format speicherst, um die Makros zu aktivieren.

  5. Teste das Makro: Schließe das Workbook, um sicherzustellen, dass alle Application.OnKey Einstellungen zurückgesetzt werden.


Häufige Fehler und Lösungen

  • Fehler: Runtime Error 1004: Dieser Fehler tritt häufig auf, wenn die OnKey-Methode falsch verwendet wird. Überprüfe, ob die Tastenkombinationen korrekt definiert sind.
  • Lösung: Stelle sicher, dass du die korrekten Syntax und die richtigen Tastenkombinationen verwendest. Achte auch darauf, dass die Buchstaben in der Schleife korrekt verarbeitet werden.

Alternative Methoden

Wenn du nach einer einfacheren Methode suchst, um Application.OnKey zurückzusetzen, kannst du auch die Möglichkeit in Betracht ziehen, die Tastenkombinationen manuell zurückzusetzen oder ein einfaches Makro zu verwenden, das nur die spezifischen Tasten zurücksetzt, die du geändert hast.

Eine einfache Variante könnte so aussehen:

Sub ResetSpecificKeys()
    Application.OnKey "^f" ' Zurücksetzen von Strg + F
    Application.OnKey "%s" ' Zurücksetzen von Alt + S
End Sub

Praktische Beispiele

Hier sind einige Beispiele, die dir helfen, ein besseres Verständnis für Application.OnKey zu bekommen:

  1. Funktionstasten zurücksetzen:

    Sub ResetFunctionKeys()
       Dim i As Integer
       For i = 1 To 12
           Application.OnKey "{F" & i & "}"
       Next i
    End Sub
  2. Sondertasten zurücksetzen:

    Sub ResetSpecialKeys()
       Application.OnKey "{HOME}"
       Application.OnKey "^{TAB}"
    End Sub

Diese Beispiele zeigen, wie du spezifische Tasten oder Tastenfolgen zurücksetzen kannst.


Tipps für Profis

  • Nutzung von .OnKey: Nutze .OnKey gezielt, um die Benutzererfahrung zu verbessern, indem du häufig verwendete Tastenkombinationen neu zuweist.
  • Fehlerbehandlung: Integriere eine Fehlerbehandlung in dein Makro, um unerwartete Fehler abzufangen, z.B. On Error Resume Next.
  • Dokumentation: Halte eine Dokumentation deiner Application.OnKey Änderungen bereit, um zukünftige Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich Application.OnKey für alle Tasten verwenden? Ja, du kannst Application.OnKey für viele Tasten verwenden, jedoch musst du sicherstellen, dass die jeweiligen Tastenkombinationen in Excel unterstützt werden.

2. Was passiert, wenn ich eine Taste zurücksetze, die nicht geändert wurde? Wenn du eine Taste zurücksetzt, die nicht geändert wurde, geschieht nichts – die Standardfunktion bleibt unverändert.

3. Wie kann ich herausfinden, welche Tasten ich zurücksetzen muss? Du kannst eine Liste deiner aktuellen Tastenkombinationen führen und diese regelmäßig überprüfen, um Änderungen nachzuvollziehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige