Angenommen, Ihre Funktion gibt Daten in den Spalten A und B, und Sie möchten, um eine benutzerdefinierte Userform angezeigt werden, wenn der Benutzer eine Zelle auswählt, in Spalte C. Eine Möglichkeit, dies zu tun, ist das SelectionChange
Ereignis zu verwenden:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim clickRng As Range
Dim lastRow As Long
lastRow = Range("A1").End(xlDown).Row
Set clickRng = Range("C1:C" & lastRow) //Dynamically set cells that can be clicked based on data in column A
If Not Intersect(Target, clickRng) Is Nothing Then
MyUserForm.Show //Launch custom userform
End If
End Sub
Beachten Sie, dass die Userform wird angezeigt, wenn ein Benutzer wählt jede Zelle in Spalte C und man könnte jede Zelle in Spalte C auffüllen möchten mit etwas wie "Zelle zum Starten der Form auswählen", um das zu verdeutlichen muss der Benutzer eine Aktion (mit einer Taste schlägt natürlich, dass es angeklickt werden soll) auszuführen
Checking: Sie wollen so etwas wie eine Liste/ComboBox in der dritten Spalte, aber modal? –
beide belisarius und Remnant funktioniert – datatoo