HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
daniel
26.05.2026 09:54:05
AW: Ausblenden von Zeilen bei bestimmten Voraussetzungen
Hi
zu 2.
"Makros anzeigen" zeigt dir die Makros, die du direkt ausführen kannst und darfst, dh sie sind nicht als "Private" deklariert und es wird keine Variablenübergabe benötigt.
Dies ist bei den automatischen Event-Makros aber nicht der Fall, da sie ja über das Event ausgelöst werden und in der Regel eine übergebene Variable haben (z.B Target, welches die geänderte oder selektierte Zelle(n) enthältn
Um zu diesen Makros zu kommen musst du mit der rechten Maustaste auf den Tabellenblattreiter klicken und "Code anzeigen" auswählen.

zu 1.
ja, das Change-Eventmakro springt nur an, wenn du einen Zellinhalt von Hand änderst.
wenn dort eine Formel steht, die neu berechnet wird, dann reagiert Change nicht.
Dafür gibt es das Calculate-Event, dieses wird ausgeführt, wenn auf einem Tabellenblatt ein Zellwert per Formel berechnet wird.
leider kannst du hier nicht ermitteln, welche Zellen neu berechnet wurden und ob sich der Wert auch tatsächlich geändert hat.

ein möglicher Workaround ist, dass du im Change-Event nicht die Zelle mit der Formel überwachst, sondern die Zellen, die das Formelergebnis beeinflussen und von Hand verändert werden.

alternativ kannst du Calculate verwenden, solltest dir aber den alten Zellwert merken, damit dein Makro nicht ständig arbeiten muss, auch wenn sich nichts geändert hat.
Private Sub Worksheet_Calculate()

Static AlterWertA1 As Variant

If Range("A1").Value = AlterWertA1 Then
'--- nichts machen
Else
'--- hier der Code, der ausgeführt werden soll, wenn sich A1 geändert hat
'...
'...
AlterWertA1 = Range("A1").Value
End If

End Sub

eine Static-Variable behält ihren Wert wenn das Makro zu ende ist und hat dann diesen Wert, wenn das Makro neu gestartet wird (normale Variablen sind dann leer und müssen erst gefüllt werden)
dh hier merkst du dir den alten Wert, um zu vermeiden das das Makro unnötig arbeitet, wenn auf dem Blatt eine Neuberechnung stattgefunden hat, ohne dass sich dieser Zellwert dabei verändert hat.

Gruß Daniel
Als Antwort auf diesen Beitrag
IseGrimm
26.05.2026 08:51:35
AW: Ausblenden von Zeilen bei bestimmten Voraussetzungen
Finde es super, wie schnell und ausführlich "man hier geholfen wird"! Hab das umgesetzt und funktioniert auch im Prinzip, aber es ergeben sich 2 neue Fragen:
1. wenn der Code sich auf A1 bezieht und darin steht nicht einfach eine 1 sondern das Ergebnis einer Berechnung, tut sich gar nichts. Überschreibe ich die Zelle mit einer 1, funktioniert es.
2. sicher die Frage eines absoluten Laien: Ich hab den Code kopiert und abgespeichert. Wenn ich das Programm wieder aufrufe, wird mir über den Reiter "Makros anzeigen" nichts angeboten - erst, wenn ich mit ALT+F11 arbeite, erscheint der Code. Was mache ich falsch?
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.