Ich stehe vor einem Problem, bei dem ich nicht mehr weiterkomme.
In meinen Modulen werden für ca. 20 geöffnete Arbeitsmappen bestimmte Prozeduren nacheinander ausgeführt (For Each ... Next). Unter anderem werden die Daten aus dem ersten Sheet der jeweiligen Arbeitsmappe in ein Sheet "Datenblatt" einer anderen Arbeitsmappe ("format.xls") kopiert. Das Sheet "Vorlage" der "format.xls" hat ca. 4000 Verweise auf die Arbeitsmappe "Datenblatt" in der Form =WENN(Datenblatt!B11="";"";Datenblatt!B11).
Nun klappt das Makro wunderbar bis zur Neunten bearbeiteten Arbeitsmappe, dann schafft es Excel nicht mehr die Felder zu aktualisieren. Wenn man in Einzelschritten das Makro durchgeht, findet man bei den =WENN ... Bezügen falsche Werte, d.h in "Vorlage" steht z.B. mit der Formel =WENN(Datenblatt!B11="";"";Datenblatt!B11 der Wert 1000. Der richtige Wert aber bei Datenblatt!B11 ist 5000.
Die Daten werden zwar dann später richtig übernommen, aber während des Durchlaufs wird der Name eines Sheets geändert und dazu auf eine Zelle aus "Datenblatt" Bezug genommen: sVorlageVal.Name = CStr(sVorlage.Range("F3").Value)
Diese Zelle F3 ist aber während des Durchlaufs nicht aktuell und daher wird das Blatt falsch benannt.
Die Daten in "Datenblatt" werden vor jedem neuen Durchgang gelöscht (.Clear).
Das Einfügen eines Calculate und Wait von 10 sec. hat nichts genutzt.
Hat jemand einen Tipp ????
Vielen Dank