Performance Probleme
27.10.2003 12:56:00
Marco
in einer Excel Anwendung die ich gerade erstellen muss generiere ich ein später zu verwendendes Template dynamisch. Dabei muss ich u.a. in einem Tabellenblatt ziemlich oft (um genau zu sein 30*20) die folgende Formel einfügen:
ActiveCell.FormulaArray = "=SUM(IF(LEFT(SoW!R3C25:R990C25,RC2)=RC1,1,0)" _
& "*IF(RIGHT(SoW!R3C18:R990C18,4)=R79C,1,0)" _
& "*IF(LEFT(SoW!R3C18:R990C18,1)=""P"",1,0))"
Wenn ich das ganze nun in einem komplett neuem Arbeitsblatt erstelle, dass nur diese Formeln einträgt geht das ganze relativ zügig. Ist halt ne menge zeugs.
Wenn ich allerdings das ganze innerhalb einer schon grossen Datei laufen lassen killt mich die Laufzeit. Ich hab das ganze auch schon mit dem Debugger betrachtet und habe dabei festgestellt, das mir so ca. ab der 8. Iteration die Laufzeit davon läuft. Es wird mit jeder Iteration langsamer obwohl er doch immer die gleiche aufgabe erledigt (formel eintragen). Woran liegt das? checkt er nach jedem eintrag das ganze Formular auf Zirkelbezüge und wird er deshalb immer langsamer? Kann man das deaktivieren? Und warum hab ich das Problem nicht, wenn ich das ganze in einem "nackten" Arbeitsblatt laufen lasse?
Wär echt cool wenn jemand hier eine Idee hätte... ich bin am Ende mit meinem Latein ;-)
Gruss
Marco