Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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

Application.CalculateFull

Application.CalculateFull
24.11.2018 15:00:39
Bernd
Hallo zusammen,
Bräuchte mal Hilfe.
Mein Problem: In Tabellenblatt "Daten" werden die Spalten H und P über die Funktion "Application.CalculateFull" aktualisiert. Ich versuche vergebens mir das Ende der Aktualisierung durch MsgBox anzeigen zulassen, z. B. so ...
Sub Calculate()
Application.ScreenUpdating = False
Application.CalculateFull
MsgBox "Fertig"
Application.ScreenUpdating = True
End Sub
Das funktioniert aber nicht, denn sobald die MsgBox startet stoppt die Aktualisierung.
Wie kann ich erreichen, dass erst wenn die letzte Zelle aktualisiert ist, die MsgBox startet?
Für Hilfestellungen bedanke ich mich im Voraus!!!
Userbild
Office Version 2016 Pro 32bit - Windows10 Pro 64 bit
"Wenn du jemanden ohne Lächeln triffst, schenke ihm dein's!"

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.CalculateFull
24.11.2018 15:05:02
EtoPHG
Hallo Bernd,
Siehe Hilfe by Microsoft Application.CalculationState.
Gruess Hansueli
AW: Application.CalculateFull
24.11.2018 15:37:15
Bernd
Hallo Hansueli,
folgende Webseite wurde mir über VBA-Hilfe angezeigt.
https://docs.microsoft.com/de-de/office/vba/api/excel.application.calculationstate#syntax
Leider ist die Hlfe nicht sehr ergiebig. Den dort gezeigten Code
Sub StillCalculating()
If Application.CalculationState = xlDone Then
MsgBox "Done"
Else
MsgBox "Not Done"
End If
End Sub

habe ich versucht anzuwenden und in meinen Code eingebaut, allerdings ohne Erfolg.
Meine VBA Kenntnisse reichen leider nicht um zu erkennen, wo ich Fehler mache.
Hast du eine Rat, wie ich mein Problem lösen kann?
Gruß
Bernd
Anzeige
AW: Application.CalculateFull
24.11.2018 15:08:38
Gerd
Hallo Bernd,
du kannst bestimmt noch die Bildschirmaktualisierung abwarten.
Sub Kalkuliere()
Application.ScreenUpdating = False
Application.CalculateFull
Application.ScreenUpdating = True
MsgBox "Fertig"
End Sub

Gruß Gerd
AW: Application.CalculateFull
24.11.2018 15:29:43
Bernd
Hallo Gerd,
Danke für deine Hilfe. Aber auch hier wird die MsgBox aufgerufen, bevor die Aktualisierung beendet ist und somit bleibt die Aktualisierung stehen ohne das sie beendet wird.
Gruß
Bernd
AW: Application.CalculateFull
24.11.2018 16:20:40
onur

While Application.CalculationStatexlDone
doevents
Wend
MsgBox "Done" 

Anzeige
AW: Application.CalculateFull
24.11.2018 17:33:48
Bernd
Hallo onur,
Danke für deine Hilfe. Leider auch hier ist die MsgBox bereits da, ohne das die Aktualisierung beendet ist. Und somit hängt die Aktualisierung sich auf.
Gruß
Bernd
AW: Application.CalculateFull
24.11.2018 17:37:06
onur
"auch hier ist die MsgBox bereits da, ohne das die Aktualisierung beendet ist" - und woher weisst du das?
AW: Application.CalculateFull
24.11.2018 17:39:52
onur

Application.ScreenUpdating = False
While Application.CalculationStatexlDone
doevents
Wend
Application.ScreenUpdating = False
MsgBox "Done" 
" Und somit hängt die Aktualisierung sich auf." - woran merkst du das?4
AW: Application.CalculateFull
24.11.2018 18:17:12
Bernd
Hallo onur,
so sieht dein Code aus inkl. der Zeile "Application.CalculateFull
Sub aaa()
Application.CalculateFull
Application.ScreenUpdating = False
While Application.CalculationState  xlDone
DoEvents
Wend
Application.ScreenUpdating = False
MsgBox "Done"
End Sub
So sieht die Tabelle nach Makrodurchlauf aus
Userbild
Wie du siehst ist das Makro fertig, aber die Tabelle noch nicht aktualisiert (#NV).
Wenn ich jetzt den OK-Button der MsgBox anklicke, aktualisiert sich Zelle für Zelle.
Fazit: MsgBox erscheint obwohl die Aktualisierung noch nicht beendet ist. Umgekehrt sollte es sein!!!
Gruß
Bernd
Anzeige
AW: Application.CalculateFull
24.11.2018 18:23:35
onur
Das zweite
Application.ScreenUpdating =
muss true sein
AW: Application.CalculateFull
24.11.2018 18:34:11
Bernd
Hallo onur,
hatte noch den falschen Code in der Zwischenablage. Im Modul ist es richtg.
Gruß
Bernd
AW: Application.CalculateFull
24.11.2018 20:27:24
onur
Mehr kann ich nicht ohne die Datei tun, ausser weiterhin herumraten.
AW: Application.CalculateFull
24.11.2018 17:42:29
onur
Application.ScreenUpdating = False
While Application.CalculationStatexlDone
doevents
Wend
Application.ScreenUpdating = True* MUSS NATÜRLICH TRUE HEISSEN!!!
MsgBox "Done"

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige