Run-Event-Makro Nach Der Datenvalidierung Auswahl
Baute ich eine Datenüberprüfung-Liste auf das Blatt Bericht, ich brauche ein makro ausführen jedes mal, wenn ich wählen Sie ein Element aus der Liste. Nun, ich habe diesen code unter, aber es funktioniert nicht. Laufen tut er in VBA, aber es wird nicht ausgeführt, wenn ich die Artikel in meinem Arbeitsblatt, wie es scheint, wusste ich nicht, verweisen auf die Makros
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(True, True) = "$B$3" Then
Select Case Target
Case "ABCP"
Call Macro1
Case "Accounting Policy"
Call Macro2
Case Else
'Do Nothing
End Select
End If
End Sub
- Die
Worksheet_SelectionChange(ByVal Target As Range)
sub aufgerufen wird, jedes mal, wenn Sie wählen Sie einen Bereich in Ihrem Arbeitsblatt. Den Ausgewählten Bereich übergeben bekommt, wie dieTarget
parameter in der sub. Den code innerhalb derIf
- Anweisung wird nur ausgeführt, wenn Sie ausgewählt "$B$3" Zelle. - Was wäre wenn ich mit Worksheet_Change?
- Arbeitsblatt.Change wird aufgerufen, immer wenn der Wert in einer Zelle ändert msdn.microsoft.com/en-us/library/office/ff839775.aspx
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, führen Sie die Prozedur, wenn Sie Sie geändert haben, den Wert in B3 (Kommissionierung aus den datenvalidierungs-Liste, dann möchten Sie Worksheet_Change Ereignis makro, nicht ein Worksheet_SelectionChange.
Außerdem, wenn alles, was auf dem Arbeitsblatt zu ändern, dann werden Sie wollen, deaktivieren Sie die Veranstaltungen, so dass die event-makro wird nicht versucht, zu starten, auf sich selbst.
Dies sollte starten Sie die richtige sub-Prozedur beim B3 hat einen neuen Wert aus der Liste ausgewählt. Sie würden um mehr details zu bieten (und code) für m Makro1 und Makro2 wenn es weiterhin problematisch.
Der obige code scheint zu funktionieren gut für mich.
Haben Sie den code in das Arbeitsblatt code? im Gegensatz zu einem Modul?