Formeln per VBA einfügen ohne das diese berechnet werden - EXCEL 2

01/02/2008 - 14:19 von René Wos | Report spam
Hallo,

ich füge per VBA in etliche Zellen Formeln mit externem Bezug ein.
Zurzeit sind das ca. 200 Zeilen mit je 10 Zellen, die gefüllt werden.
Das dauert leider ziemlich lange (ca. 2 Sekunden pro Zeile).

Ich habe das Gefühl, dass er bei jedem Einfügen die Werte von extern holt
und die Berechnung für diese Zelle durchführt.
Nun würde ich gerne erst alle Zellen mit Formeln füllen und alle Werte im
Anschluss aktualisieren. Das ist vermutlich um einiges schneller, da Excel
bei der Verwendung von Verknüpfungen - alle Werte aktualisieren pro Zeile
deutlich unter einer Sekunde bleibt.
Ist das machbar? Oder habt ihr sonst noch Vorschlàge um das ganze schneller
zu machen?

Danke und Gruß
René Wos

Hier mein Code (etwas gekürzt):
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With

lz = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
For i = 7 To lz
Cells(i, 2).FormulaLocal = "=SUMMENPRODUKT(('\\server\Data\N\X\[" &
Cells(i, 1).Value & "]Template'!$A$4:$A$5001=""F1"")*1)"
Cells(i, 3).FormulaLocal = "='\\server\Data\N\X\[" & Cells(i, 1).Value
& "]Template'!$n$3"
Next i

With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
 

Lesen sie die antworten

#1 Alexander Wolff
01/02/2008 - 14:34 | Warnen spam
Du kannst auch einem Range gleich eine Formel zuweisen (ohne Schleife).
Beispiel unter www.xxcl.de/5067.htm ("some statistics" am Ende)
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen