Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1816to1820
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

Makro anhalten bis Neuberechnung ...

Makro anhalten bis Neuberechnung ...
10.03.2021 11:23:25
Fred
Hallo Excel Profis,
Ich lasse folgendes Makro laufen:
Worksheets("Basis").Activate
Application.Calculation = xlCalculationManual
Worksheets("Basis").Range("R2").FormulaLocal = "=ht_8(N2;$R$1)"
Worksheets("Basis").Range("s2").FormulaLocal = "=ht_12(N2;$S$1)"
Worksheets("Basis").Range("t2").FormulaLocal = "=ht_8(N2;$T$1)"
Worksheets("Basis").Range("u2").FormulaLocal = "=ht_12(N2;$U$1)"
Worksheets("Basis").Range("v2").FormulaLocal = "=WENN(Q2=0;"""";WENN(O2=Q2;1;0))"
Worksheets("Basis").Range("w2").FormulaLocal = "=ganz_10(N2;$W$1)"
Worksheets("Basis").Range("x2").FormulaLocal = "=ht_8(N2;$X$1)"
Worksheets("Basis").Range("y2").FormulaLocal = "=ht_12(N2;$Y$1)"
Worksheets("Basis").Range("z2").FormulaLocal = "=ht_8(N2;$Z$1)"
Worksheets("Basis").Range("aa2").FormulaLocal = "=ht_12(N2;$AA$1)"
Worksheets("Basis").Range("ab2").FormulaLocal = "=WENN(Q2=0;"""";WENN(P2=Q2;1;0))"
Worksheets("Basis").Range("ac2").FormulaLocal = "=ganz_10(N2;$AC$1)"
With ActiveSheet ' zieht in Basis formeln runter
ENDE2 = Sheets("Basis").Cells(Rows.Count, 1).End(xlUp).Row - 0
.Range("O2:AC2").AutoFill Destination:=Range("O2:AC" & ENDE2), Type:=xlFillDefault
End With
Application.Calculation = xlCalculationAutomatic
Application.Calculate
' Werte statt Formeln
Worksheets("Basis").Range("r2:ac" & ENDE2).Copy
Worksheets("Basis").Range("r2").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Call korrigieren
Call TextInSpalten
Call NachBasisNeu

das Problem:
In "R2:AC2" werden eigene Funktionen (von Yal & Onur) aufgerufen. Die notwendige "Neuberechnung" hat anscheinend allerdings zu wenig Zeit,- es werden weitere Makros aufgerufen.
Meine Frage:
Wie kann ich das Makro anhalten, bis "Basis" neu berechnet wird und dann erst die weiteren Makros aufrufen?
Hat bitte jemand für dieses Problem eine Lösung?
Gruss
Fred

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro anhalten bis Neuberechnung ...
10.03.2021 11:41:21
MRUTOR
Hallo Fred,
schau dir mal die Funktion DoEvents an.
Gruss Tor

AW: Makro anhalten bis Neuberechnung ...
10.03.2021 12:27:09
EtoPHG
Hallo Fred,
Versuch mal folgendes Codeschnipsel unmittelbar vor die Call zu schieben:
    While Application.CalculationState  xlDone
' Debug.Print "waiting 1sec"
Application.Wait (Now + TimeValue("0:00:01"))
Wend
Gruess Hansueli

AW: Makro anhalten bis Neuberechnung ...
10.03.2021 14:34:59
Fred
Hallo Hansueli,
ich habe an der Sache den ganzen Vormittag verbracht,- dein Snippet und meine Bastelei
Start = Timer
Do While Timer 

funzten eigentlich nicht so richtig; erst als ich
"xlCalculationAutomatic" später einsetze
und den Teil "Werte statt Formeln" in ein seperates Makro setzte, ging alles wie gewünscht.
Danke für für die Unterstützung!!
Gruss
Fred
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige