Frage von hanshuberplayer, 27

Wie kann ich eine WENN-Funktion mit einem Makro in Excel verknüpfen?

Ich hab z.B. In A1 eine Zahl die sich ändert und möchte wenn A1=0 dass ein Makro ausgeführt wird dass ich bereits aufgenommen (Makro1)

Wie mach ich das am besten ??? Vielen Dank schon mal im Voraus

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Suboptimierer, Community-Experte für Excel, 27

Wenn ich deine Frage wörtlich nehme, musst du dein Makro einfach nur als public definieren (sollte aber Standard sein) und im WENN nach der Bedingung aufrufen:

=WENN(A1=0;MeinMakro();"")

Mein Makro wird dann jedesmal ausgeführt, wenn das Blatt neu berechnet wird und in A1 eine 0 steht.

Wenn ich deine Frage versuche, zu interpretieren, dann musst du ein Change-Ereignis des Blatts überschreiben:

Private Sub Worksheet_Change(ByVal Target As Range)
  If (Target.Address = "$A$1") And (Target.Value = 0) Then MeinMakro
End Sub

Dieser Code und dein Makro müssen dann aber unter dem Tabellenblatt-Objekt im VBA-Editor angelegt werden.

Die zweite Variante führt dein Makro nur dann aus, wenn A1 auf 0 geändert wird.

Antwort
von Drakus86, 18

Vereinfacht würde das so gehen.

Option Explicit
Public Sub Worksheet_Change(ByVal Target As Range)
    If Tabelle1.Range("A1").Value = "0" Then
    'Meine Anweisung Beispiel
        Dim msg As String
        msg = MsgBox("Der Wert beträgt 0", vbOKOnly, "Blub")
     End If
 End Sub

Wie gesagt, sehr einfach gehalten.

Keine passende Antwort gefunden?

Fragen Sie die Community