Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

worksheet_calculate springt ungewollt an

worksheet_calculate springt ungewollt an
03.02.2015 22:36:47
bernhardtautz
Hallo VBA Experten,
meine Anwendung besteht aus 18 Arbeitsblättern. Ich habe 10 Module in "Diese Arbeitsmappe" gesteckt. Einige Makros habe ich in einzelne Arbeitsblätter reingesteckt. Alles funktioniert zufriedenstellend.
Nun kommt mein Problem. In einem Arbeitsblatt steckt ein Makro, dass nur bei Neuberechnung dieses Blatts aktiv werden soll (worksheet_calculate). Es passiert aber, dass es von einzelnen anderen Makros aktiviert wird obwohl auf dem eigentlichen Blatt meines Erachtens nicht passiert.
Wie kann ich das unterbinden ?
Habe ich ein grundsätzliches Verständnisproblem ("VBA bescheiden bis erbärmlich")
Hat jemand eine Idee was ich falsch mache ?
LG Bernhard

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: worksheet_calculate springt ungewollt an
03.02.2015 23:23:43
Daniel
Hi
das Calculate-Event auf einem Blatt spricht an, wenn mindestens Eine Formel auf diesem Blatt neu berechnet wird.
Das passiert, wenn sich der Wert einer Zelle, die von einer Formel auf diesem Blatt referenziert wird, ändert.
Das passiert bei jeder Änderung, wenn dieses Blatt eine volatile Formel enthält (Heute(), Indirekt(), Zufallszahl() usw).
Das passiert, wenn du auf dem Blatt filterst oder sortierst.
möglichkeiten dieses Makro auszulösen gibt es viele.
überprüfe erstmal im Einzelstep, welche Makrozeile das Calculate-Event auslöst.
hierzu kannst du im Calculate-Event einen Haltepunkt setzen und dann im Einzelstep durch das Makro durchtickern, biss der Programmlauf wieder in das ursprüngliche Makro zurückspringt.
die davor liegende Aktion hat dann das Event ausgelöst.
am einfachsten und ohne grosse Ursachenforschung kannst du das Calculate-Event verhindertn, indem du vor der auslösenden Aktion den Befehl Application.EnableEvents = False bringst.
Danach werden keine Event-Makros mehr ausgeführt (Change, SelectionChange, Calculate) usw.
Mit Application.EnableEvents = True schaltest du die Events wieder ein.
Achtung:
Die zuletzt gemachte Einstellung bleibt erhalten, solange bis du sie über diesen Befehl änderst, aucn nach Makro-Ende.
Es findet kein automatisches Rücksetzen dieser Einstellung statt.
Gruß Daniel

Anzeige
AW: worksheet_calculate springt ungewollt an
04.02.2015 21:59:39
bernhardtautz
Hallo Daniel,
vielen Dank für die Erklärung. Das Problem entsteht durch volatile Formeln. Das war mir so nicht klar.
Du hast mir sehr geholfen !
LG Bernhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige