Microsoft Excel

Herbers Excel/VBA-Archiv

Makro erst nach vollst. Berechnung ausführen


Betrifft: Makro erst nach vollst. Berechnung ausführen von: Christian
Geschrieben am: 14.08.2018 10:20:54

Hallo,

gibt es eine Art Befehl, welcher ein bestimmten Teil eines Makro - welches per Click auf einen CB ausgeführt wird - erst ausführt, wenn die Excel-Arbeitsmappe komplett berechnet wurde?

Teil1 meines Makros zwingt die Arbeitsmappe zum Berechnen und Teil2 zeigt die Ergebnisse in einer Listbox.
Leider sind die Berechnungen von Teil1 manchmal noch gar nicht abgeschlossen und werde somit nicht vollständig in der Listbox dargestellt.

Gibt es einen Befehl, welchen ich nach Teil1 einbauen kann um sicherzustellen, dass Teil2 erst ausgeführt wird, wenn die Arbeitsmappe komplett berechnet wurde?

Hoffe es ist verständlich.

Würde mich über Hilfe sehr freuen.

MfG,
Christian

  

Betrifft: AW: Makro erst nach vollst. Berechnung ausführen von: niclaus wurthberg
Geschrieben am: 14.08.2018 11:09:23

Hallo Christian

OnTime wäre eine Variante dafür.
Dazu muss das Makro in zwei Makros aufgeteilt werden.

Sub makro1()
'dies und das
RefreshAll ' oder was auch immer
Application.OnTime Now + TimeValue("00:00:05"), "makro2"
' 5 Sekunden Ausführungszeit
End Sub

Sub makro2
'dies und das
End Sub
Wichtig! Das zweite Makro wird nicht mit Call aufgerufen! Es muss am Ende der OnTime-Zeile in Anführungszeichen gesetzt werden!

Ich hoffe, das hilft Dir. Grüsse Niclaus


  

Betrifft: AW: Makro erst nach vollst. Berechnung ausführen von: MatthiasG
Geschrieben am: 14.08.2018 11:30:03

Hallo Christian,

das sollte mit dieser Schleife funktionieren:

Do
    DoEvents
Loop Until Application.CalculationState = xlDone

Gruß Matthias


Beiträge aus dem Excel-Forum zum Thema "Makro erst nach vollst. Berechnung ausführen"