2016-12-23 1 views
1

Zellen in Spalte B sind Dropdown-Listen. Wenn also jemand in Zelle B2 "Erinnerung" auswählt, wird das Benutzerformular angezeigt. Ich möchte, dass dies für jede Zelle in Spalte B geschieht. Mein Code unten erreicht dies, aber das UserForm wird weiterhin angezeigt, wenn ich in Excel klicke. Auch wenn ich die Daten bereits in meiner UserForm eingereicht habe. Wie bekomme ich das nur einmal für jede Zelle, die den Wert "Erinnerung" hat, aber die Fähigkeit behalten, das Formular anzeigen zu lassen, wenn andere Zellen als "Erinnerung" eingegeben werden. Wenn B2 das einzige ist, das als "Erinnerung" eingegeben wurde, möchte ich nicht, dass das Formular jedes Mal, wenn ich mich um das Blatt bewege, immer wieder auftaucht. Dies ist mein erster Ausflug in UserForms, daher hoffe ich, dass meine Frage sinnvoll ist. Jede Hilfe wird geschätzt. Vielen Dank!Wie Sie Excel UserForm erstellen, wird nur einmal angezeigt, wenn auf Zellenwert basiert

Code:

Sub Worksheet_SelectionChange(ByVal Target As Range) 
Dim cell As Range 
For Each cell In Range("B:B") 
    If cell.Value = "Reminder" Then 
     UserForm1.Show 
    End If 
Next cell 
End Sub 

Antwort

3

Ich schlage vor, Sie verwenden Worksheet_Change statt:

Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Column = 2 And Target.Value = "Reminder" Then UserForm1.Show 
End Sub 
Verwandte Themen