Hallo Klaus,
rechtsklicke auf dem Reiter von deinem Excel-Blatt und wähle "Code anzeigen". So bist Du in dem Codepane des Blatt-Objekt. Im Fenster-Leiste sollte die Beschriftung mit "[Tabelle1 (Code)]" (oder ähnlichen) am Ende stehen.
Oben links, wo "(Allgemein)" steht, schalte aus "Worksheet", dann rechts davon, wo jetzt "SelectionChange", schalte auf "BeforeDoubleClick".
Jetzt hast Du den Rumpft einer Ereignisprozedure, die ausgelöst wird, wenn in einer Zelle dieses Blattes Dopppelgeklickt wird.
In diese Prozdure, füge folgende Code ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
MsgBox "Zelle " & Target.Address & " wurde doppelgeklickt."
End Sub
Jetzt gehe wieder in das Blatt und Doppelklick auf einer Zelle.
Gehe auf eine andere Blatt und doppelklick dort auf einer Zelle. Die Ereignis gilt nur für das Blatt, wo der Code definiert ist. Solltest Du etwas für alle Blätter haben wollen, melden.
Jetzt gehst Du wieder auf dem Blatt, starte die Makroaufzeichnung (im Menü "Entwicklertools"), führe die Aktion, die passieren soll, wenn doppelgeklickt wird. Aufzeichnung stoppen.
Mit Alt+F11 in VisualBasic-Editor gehen und dort auf "Module1". Der gerade aufgezeichnete Code ist da sichtbar.
Es wird so aussehen:
Sub Makro1()
'
' Makro1 Makro
'
'
ActiveCell.FormulaR1C1 = "abcd"
Range("G9").Select
End Sub
andere es in
Sub MeinDoppelklickAktion(ByVal Target As Range)
' ich beschreibe was hier passiert
Target.FormulaR1C1 = "abcd"
End Sub
b
oder ähnliches. Wichtig ist, dass Du die Zelle, die während der Aufzeichnung festgelegt wurde durch eine Zelle "Target", die als Parameter weitergegeben wird.
Wechsle in der Codepane des Blattes, wo "Worksheet_BevorDoubleClick" definiert wurde und andere den Code in:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
MeinDoppelklickAktion Target
End Sub
Dann nochmal testen.
VG
Yal