Supportnet / Forum / Tabellenkalkulation
Wenn ereignis zutrifft, dann Makro ausführen
Frage
Hallo
Ich möchte eine wenn-Funktion mit einem Makro verbinden z.B. so:
=wenn(A1<70; Makro 1 ausführen;wenn(A1<89;Makro 2 ausführen)
Wie stell ich das an?
Danke
Antwort 1 von nighty
hi römer :)
eine funktion kann nur einen wert darstellen aber nicht etwas direktes verändern.
hier ein kleiner trick wo der rechner aber bei hohem aufkommen von berechnungen in die knie geht :)))
gruss nighty
Sub makro02()
Public fest As Variant
End Sub
Sub makro01()
Cells(1, 1) = Cells(1, 1) + 1
End Sub
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If fest <> Range("A3") Then
fest = Range("A3")
makro01
End If
Application.EnableEvents = True
End Sub
eine funktion kann nur einen wert darstellen aber nicht etwas direktes verändern.
hier ein kleiner trick wo der rechner aber bei hohem aufkommen von berechnungen in die knie geht :)))
gruss nighty
Sub makro02()
Public fest As Variant
End Sub
Sub makro01()
Cells(1, 1) = Cells(1, 1) + 1
End Sub
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If fest <> Range("A3") Then
fest = Range("A3")
makro01
End If
Application.EnableEvents = True
End Sub
Antwort 2 von Primut
Hi Römer,
du kannst doch per Makro direkt zB Zelle A1 abfragen:
D.h. zuerst den Bereich der Änderung und anschließend den Wert abfragen. Klar, in diesem Fall tritt das Makro nur auf, wenn eine Änderung auftritt, aber reicht ja vielleicht....
(D.h. nicht, wenn du die Tabelle öffnest )
Gruß Primut
du kannst doch per Makro direkt zB Zelle A1 abfragen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then .......
End Sub
D.h. zuerst den Bereich der Änderung und anschließend den Wert abfragen. Klar, in diesem Fall tritt das Makro nur auf, wenn eine Änderung auftritt, aber reicht ja vielleicht....
(D.h. nicht, wenn du die Tabelle öffnest )
Gruß Primut

