Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Keydown Keypress Event im Sheet

Forumthread: Keydown Keypress Event im Sheet

Keydown Keypress Event im Sheet
11.09.2003 16:55:49
alex
Hallo zusammen,

suche eine Möglichkeit eine Art Keydown oder Keypress Event in einer Tabelle möglichst früh auszuwerten um dann anderen Code auszuführen.

Dabei bin ich schon in der aktiven Zelle !
Worksheet_SelectionChange entfällt also
Worksheet_Change ist mir zu auch spät

Any Ideas?

Gruß Alex

PS: Dieses Forum macht wirklich Spaß und hat mir schon sehr geholfen
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Keydown Keypress Event im Sheet
11.09.2003 17:25:19
alex
Hallo Chris,

vorab schon mal Danke


Private Sub Worksheet_Activate()
Application.OnKey "{Return}", "test"
End Sub



Private Sub test()
MsgBox "funzt"
End Sub


Sagt mir leider er kann das Makro nicht finden :(

btw - wie spreche ich denn die Leer-Taste an mit {Space} ?


Gruß
Alex
Anzeige
AW: Keydown Keypress Event im Sheet
11.09.2003 17:36:12
ChrisL
Hi Alex

Der Code funkt bei mir... hast du Sub test() in einem Standardmodul?

Space mit...Application.OnKey "{ }", "test"

Gruss
Chris
AW: Keydown Keypress Event im Sheet
11.09.2003 17:44:41
alex
Hi Chris

im Modul funzt es - Super Danke !

Gruss Alex
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Keydown und Keypress Events in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Modul erstellen:

    • Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer.
    • Wähle Einfügen > Modul.
  3. Makro erstellen:

    • Füge folgenden Code in das Modul ein, um die OnKey-Funktion zu verwenden:
    Private Sub Worksheet_Activate()
       Application.OnKey "{Return}", "test" ' Für die Enter-Taste
    End Sub
    
    Private Sub test()
       MsgBox "funzt"
    End Sub
  4. Leertaste ansprechen:

    • Wenn du die Leertaste verwenden möchtest, ändere die Zeile in:
    Application.OnKey " ", "test" ' Für die Leertaste
  5. Zurück zu Excel:

    • Schließe den VBA-Editor und gehe zurück zu Excel. Aktiviere das Arbeitsblatt, um die OnKey-Zuweisung zu aktivieren.

Häufige Fehler und Lösungen

  • Fehler: Makro nicht gefunden:

    • Stelle sicher, dass das Sub test in einem Standardmodul (nicht im Arbeitsblattmodul) erstellt wurde.
  • Leertaste funktioniert nicht:

    • Überprüfe, ob die Syntax korrekt ist; für die Leertaste sollte " " verwendet werden.

Alternative Methoden

  • Verwendung von Worksheet_KeyPress:

    • Du kannst auch das KeyPress-Ereignis im Arbeitsblatt verwenden, um auf Tasteneingaben zu reagieren. Dies erfordert, dass das Arbeitsblatt aktiv ist:
    Private Sub Worksheet_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
       If KeyAscii = vbKeyReturn Then
           MsgBox "Enter-Taste gedrückt!"
       End If
    End Sub

Praktische Beispiele

  • Beispiel: Eingabe validieren:

    • Wenn du beispielsweise die Eingabe in einer Zelle validieren möchtest, kannst du den KeyPress-Event verwenden, um nur bestimmte Zeichen zuzulassen:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
           If Not IsNumeric(Target.Value) Then
               MsgBox "Bitte nur Zahlen eingeben!"
               Target.ClearContents
           End If
       End If
    End Sub

Tipps für Profis

  • Verwende Application.OnKey effizient:

    • Du kannst mehrere Tasten mit verschiedenen Makros belegen, um komplexere Anwendungen zu erstellen.
  • Debugging:

    • Nutze Debug.Print in deinem Code, um die Eingaben zu überwachen und Fehler zu identifizieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tastenbelegungen gleichzeitig haben?
Du kannst Application.OnKey mehrfach in verschiedenen Subroutinen definieren, um verschiedene Tasten zu steuern.

2. Funktioniert das auch in Excel für Mac?
Die OnKey-Funktion ist nicht in der Mac-Version von Excel verfügbar. Verwende stattdessen die KeyPress-Events in einem UserForm.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige