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

Forumthread: Abfrage ob die "strg oder alt" taste gedrückt ist?

Abfrage ob die "strg oder alt" taste gedrückt ist?
31.10.2004 23:25:15
Bachner
Hallo
Wie kan ich Abfrage ob die "strg oder alt" taste gedrückt ist?
Vielen dank Gerhard
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage ob die "strg oder alt" taste gedrückt ist?
Sigi
Hallo Gerhard,
mit den Ereignissen CommandButton1_MouseDown() und CommandButton1_MouseUp() ...

Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Shift = 2 Then
MsgBox "Strg-Taste ist gedrückt!"
ElseIf Shift = 4 Then
MsgBox "Alt-Taste ist gedrückt!"
End If
'Shift =
'0 = keine
'1 = Shift (Umschalt)
'2 = Strg
'3 = Shift + Strg
'4 = Alt
'5 = Shift + Alt
'6 = Strg + Alt
'7 = Shift + Strg + Alt
End Sub

Gruß
Sigi
Anzeige
AW: Abfrage ob die "strg oder alt" taste gedrückt ist?
01.11.2004 21:07:07
Bachner
hallo das alles wirt scon funcktionieren aber ich habe es nicht ausprobieren können.
Das da unten ist mein code befor er sub bieten wechselt möchte ich abfragen welche tasten gedrückt sind.
vielecht mit "KeyDown(scancode)" habe herum probiert hat aber immen nach einer decklaration definition verlangt.
Vielen dank Gerhard

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [G4:O27]) Is Nothing Then
Cancel = True
If KeyDown(scancode)Then
bieten
GoTo ende
End If
End If
ActiveCell.Offset(1, 0).Activate
ende:
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Abfrage der "Strg" oder "Alt" Taste in Excel


Schritt-für-Schritt-Anleitung

Um abzufragen, ob die "Strg" oder "Alt" Taste gedrückt ist, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  3. Kopiere den folgenden Code in das Modul:

    Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
       If Shift = 2 Then
           MsgBox "Strg-Taste ist gedrückt!"
       ElseIf Shift = 4 Then
           MsgBox "Alt-Taste ist gedrückt!"
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Füge einen Button (CommandButton) in dein Arbeitsblatt ein und verknüpfe ihn mit dem obigen Makro.

Jetzt zeigt das Makro eine Nachricht an, wenn die "Strg" oder "Alt" Taste gedrückt wird.


Häufige Fehler und Lösungen

  • Fehler: "Der Code funktioniert nicht."

    • Lösung: Stelle sicher, dass das Makro mit dem Button verknüpft ist und dass du die richtigen Tasten verwendest.
  • Fehler: "KeyDown wird nicht erkannt."

    • Lösung: Die Funktion KeyDown ist nicht standardmäßig in Excel verfügbar. Verwende stattdessen die Shift-Variable im oben angegebenen Code, um die gedrückten Tasten zu überprüfen.

Alternative Methoden

Eine alternative Methode zur Abfrage der "Strg" oder "Alt" Taste könnte die Verwendung von Keyboard Hooks oder API-Funktionen in VBA sein. Diese Methode ist jedoch komplexer und erfordert fortgeschrittene Kenntnisse in der Programmierung. Für die meisten Benutzer ist die oben beschriebene Methode ausreichend.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du die "Strg" oder "Alt" Taste in einer Arbeitsmappe verwenden kannst:

  1. Erstelle eine Schaltfläche auf deinem Arbeitsblatt.
  2. Verwende den folgenden Code im Worksheet_BeforeDoubleClick-Ereignis, um die Tasten zu überprüfen:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Not Intersect(Target, [G4:O27]) Is Nothing Then
           Cancel = True
           If (GetAsyncKeyState(vbKeyControl) < 0) Then
               MsgBox "Strg-Taste ist gedrückt!"
           ElseIf (GetAsyncKeyState(vbKeyMenu) < 0) Then
               MsgBox "Alt-Taste ist gedrückt!"
           End If
       End If
    End Sub

Hierbei wird die GetAsyncKeyState-Funktion verwendet, um die Tasten zu überprüfen.


Tipps für Profis

  • Nutze die Shift-Variable, um mehrere Tastenabfragen zu kombinieren, z.B. Shift = 6 für "Strg" und "Alt".
  • Achte darauf, dass deine Excel-Version die Nutzung von VBA unterstützt. Einige Funktionen sind möglicherweise in älteren Versionen eingeschränkt.
  • Teste immer deinen Code in einer Kopie deiner Arbeitsmappe, um ungewollte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die "Alt"-Taste in Excel abfragen? Du kannst die "Alt"-Taste mit der Shift-Variable im VBA-Code abfragen, wie im obigen Beispiel gezeigt.

2. Funktioniert das auch in Excel Online? Leider sind VBA-Makros in Excel Online nicht verfügbar. Du musst die Desktop-Version von Excel verwenden, um diese Funktionalitäten zu nutzen.

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