Hallo,
Excel bietet bei einem Worksheet-Ereignis - das du hier brauchst - nur Doppelklick oder Rechtsklick an.
Füge den folgenden Code in das VBA-Projekt des betreffenden Arbeitsblatts ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'nicht in Zelle gehen
Cancel = True
'Userform aufrufen
UserForm1.Show
End Sub
Damit wird die Userform bei einem Doppelklick in eine beliebige Zelle gestartet.
Normalerweise speichert man die Werte, die man in die Userform eingibt beim Beenden der Userform. Du hast in deiner Userform einen Button zum Beenden. Wenn du eine Textbox in deiner Userform hast, dann kannst du den eingegebenen Inhalt der Textbox wie folgt in der aktiven Zelle speichern:
Private Sub CommandButton1_Click()
'Inhalt der Textbox in aktive Zelle schreiben
ActiveCell = TextBox1.Value
'Userform schließen
Unload Me
End Sub
Da du ja auch den Text der aktiven Zelle in die Userform haben willst, musst du den folgenden Code ergänzen:
Private Sub UserForm_Initialize()
TextBox1.Value = ActiveCell.Value
End Sub
Der Code für den Command-Button sowie für die Userform-Initialize gehören in das VBA-Projekt der Userform (einfach auf Doppelklick auf Userform).
Gruß
M.O.