gibt es die Möglichkeit, per Makrobefehl den Doppelklick zu erzeugen, so, dass an den in der Zelle stehenden Text weitergeschrieben werden kann?
Danke für eure Hilfe.
Gruß
Karsten
Sub test()
SendKeys ("{F2}")
End Sub
Rufe ich über Extras/Makro/Makros auf, und nach Ausführung blinkt der Cursor in der aktiven Zelle - so wie es sein soll, denk ich.
Vielleicht fehlen bei deinen Versuchen nur die Klammern?
Ciao
Thorsten
Um einen Doppelklick in Excel mittels VBA zu simulieren, kannst du das SendKeys
-Kommando verwenden. Hier ist eine einfache Anleitung:
Öffne den VBA-Editor: Drücke Alt + F11
, um den VBA-Editor zu öffnen.
Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsbuch)", wähle Einfügen
und dann Modul
.
Füge den folgenden Code ein:
Sub Doppelklick()
Application.SendKeys "{F2}"
End Sub
Schließe den VBA-Editor: Speichere deine Änderungen und schließe den Editor.
Führe das Makro aus: Gehe zu Extras
> Makro
> Makros
, wähle dein Makro Doppelklick
aus und klicke auf Ausführen
.
Jetzt solltest du in der Lage sein, den Doppelklick per Makrobefehl auszuführen, um in die aktive Zelle zu schreiben.
SendKeys
korrekt implementiert hast. Teste es in einer frischen Excel-Datei.Falls SendKeys
nicht die gewünschte Funktionalität bietet, kannst du auch direkt in den Bearbeitungsmodus wechseln, indem du einen Doppelklick in das entsprechende Feld ausführst. Es gibt auch die Möglichkeit, das Worksheet_BeforeDoubleClick
-Ereignis zu nutzen, um einen Doppelklick abzufangen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Activate
Cancel = True
End Sub
Diese Methode ermöglicht es dir, beim Doppelklicken in eine Zelle weitere Eingaben zu machen.
Beispiel 1: Wenn du in einer Zelle mit dem Text "xxx" weiter schreiben möchtest, kannst du das Makro so anpassen:
Sub WeiterSchreiben()
Application.SendKeys "{F2}"
Application.SendKeys " yyy"
End Sub
Beispiel 2: Du kannst auch dynamisch auf die aktive Zelle zugreifen und den Text anpassen:
Sub TextAnpassen()
Dim aktZelle As Range
Set aktZelle = ActiveCell
aktZelle.Value = aktZelle.Value & " yyy"
End Sub
DoEvents
nach SendKeys
, um sicherzustellen, dass Excel die Eingaben korrekt verarbeitet.1. Was ist SendKeys
?
SendKeys
ist ein VBA-Befehl, der es ermöglicht, Tasteneingaben an die aktive Anwendung zu senden. Dadurch kann man beispielsweise den Doppelklick auf eine Zelle simulieren.
2. Warum funktioniert mein Makro nicht?
Es könnte an fehlenden Klammern, einem falschen Kontext oder an vorherigen Makros liegen, die die Funktionalität beeinträchtigen. Teste das Makro in einer neuen Datei, um sicherzustellen, dass keine Störungen vorhanden sind.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen