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

Forumthread: SendKeys ("+{?}") 'for left mouse button

SendKeys ("+{?}") 'for left mouse button
Franz
Ich grüße alle die wie ich jetzt die Hitze vermeiden.
Habe SendKeys ("+{F10}") 'for right mouse button gefunden, suche vergebens die Parameter für die linke Maustaste. Hintergrund: Ein Makro springt automatisch in eine Dropdown-Zelle die sich danach sofort aufklappen sollte. Kann es sein das dies ignoriert wurde?
Gruß
Franz D.
Anzeige

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

Betreff
Benutzer
Anzeige
AW: SendKeys ("+{?}") 'for left mouse button
11.07.2010 18:42:06
fcs
Hallo Namensvetter Franz,
die Tasten-Kombination für die Anzeige der Gültigkeitsauswahl nach Selektion einer Zelle ist Alt+PfeilUnten.
Gruß
Franz
'Code-Beispiel
Sub DropDownAnzeigen()
'Zeigt Gültigkeits-DropDown-Auswahl nach Zellselektion an
Range("C3").Select
Application.SendKeys "%{DOWN}"
End Sub

Anzeige
AW: Merci Namensvetter! Super!
11.07.2010 19:21:03
Franz
.
;
Anzeige
Anzeige

Infobox / Tutorial

SendKeys für Mausklicks in VBA nutzen


Schritt-für-Schritt-Anleitung

Um die Funktion SendKeys in VBA zu verwenden, um einen Mausklick zu simulieren, folge diesen Schritten:

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

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

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

    Sub DropDownAnzeigen()
        ' Zeigt Gültigkeits-DropDown-Auswahl nach Zellselektion an
        Range("C3").Select
        Application.SendKeys "%{DOWN}"
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du ALT + F8 drückst, wähle DropDownAnzeigen aus und klicke auf Ausführen.

Mit diesem Code wird die Dropdown-Liste für die Zelle C3 angezeigt, indem die Tastenkombination Alt + Pfeil nach unten gesendet wird.


Häufige Fehler und Lösungen

  • Fehler: Das Dropdown-Menü wird nicht angezeigt.

    • Lösung: Stelle sicher, dass die Zelle mit einer Datenvalidierung versehen ist, die ein Dropdown-Menü ermöglicht.
  • Fehler: SendKeys funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob die Excel-Anwendung im Vordergrund ist. SendKeys funktioniert nur, wenn Excel aktiv ist.

Alternative Methoden

Eine weitere Möglichkeit, einen Mausklick in VBA zu simulieren, ist die Verwendung von Windows API-Funktionen. Hier ist ein einfaches Beispiel, das einen Linksklick simuliert:

Private Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal dwData As Long, ByVal dwExtraInfo As Long)

Sub Mausklick()
    mouse_event &H2, 0, 0, 0, 0 ' Linksklick
End Sub

Dieser Code verwendet die mouse_event-Funktion, um einen Mausklick zu simulieren.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von SendKeys und zur Simulation von Mausklicks:

  1. Rechtsklick auf eine Zelle:

    Sub Rechtsklick()
        Range("A1").Select
        Application.SendKeys "+{F10}" 'Für rechten Mausklick
    End Sub
  2. Linksklick auf eine Schaltfläche:

    Sub Linksklick()
        ' Positioniere den Mauszeiger und klicke
        mouse_event &H1, 0, 0, 0, 0 ' Linksklick
    End Sub

Tipps für Profis

  • Timing: Wenn du SendKeys verwendest, kann es hilfreich sein, eine kurze Pause zwischen den Befehlen einzufügen, um sicherzustellen, dass Excel die Tastenanschläge korrekt verarbeitet. Verwende Application.Wait oder Sleep.

  • Vermeide SendKeys, wenn möglich: SendKeys ist nicht immer zuverlässig. Überlege, ob du stattdessen direkte Manipulationen des Excel-Objektmodells verwenden kannst.

  • Debuggen: Nutze die Debugging-Tools von VBA, um sicherzustellen, dass dein Code wie gewünscht funktioniert und keine unerwarteten Fehler auftreten.


FAQ: Häufige Fragen

1. Was ist SendKeys in VBA?
SendKeys ist eine Funktion in VBA, die es ermöglicht, Tastatureingaben zu simulieren, als ob sie direkt eingegeben werden.

2. Wie kann ich einen Mausklick mit SendKeys simulieren?
Für einen rechten Mausklick kannst du SendKeys "+{F10}" verwenden. Für die linke Maustaste gibt es keine direkte SendKeys-Möglichkeit, aber du kannst Windows API-Funktionen verwenden.

3. Gibt es eine Einschränkung bei der Verwendung von SendKeys?
Ja, SendKeys kann unzuverlässig sein, insbesondere wenn die Anwendung nicht im Vordergrund ist oder wenn der Fokus auf ein anderes Fenster verschoben wurde.

4. Welche Excel-Versionen unterstützen SendKeys?
SendKeys ist in den meisten Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Excel für Microsoft 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige