Anzeige
Archiv - Navigation
424to428
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
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Performance verbessern

Performance verbessern
12.05.2004 11:08:50
KleinKatha
Hallo zusammen,
innerhalb eines Makros führe ich folgende Funktion aus.
z = Worksheets("data").UsedRange.Rows.Count
For i = 2 To z
For Each r In Range(Cells(2, 40), Cells(z, 40))
r.NumberFormat = "0"
If Cells(i, 2) And Cells(i, 3) "00.00.0000" Then
r.FormulaR1C1 = "=RC[-37]-RC[-38]"
r.Value = r.Value
Else
Cells(i, 40) = 0
End If
Next
Next i
Die Funktion soll den Zeitraum zwischen zwei Datums ;o) berechnen. Damit es keine Probleme bei leeren Zellen (00.00.0000) gibt, muss ich meiner Meinung nach mit der Prüfung Cells(i, 2) And Cells(i, 3) "00.00.0000" arbeiten. Im Moment benötigt Excel für die Berechnung von 90 Zeilen ca. 1 Minute. Da stimmt doch irgendwas nicht!?
Kann mir jemand sagen, wie ich die Funktion optimieren kann, damit die Laufzeit nicht so lange ist?
Danke
Katharina

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Performance verbessern
12.05.2004 11:26:37
Marc
Hallo, ich glaube nicht, dass es so funktioniert.
Deine If-Zeile müsste eigentlich lauten:
If Cells(i, 2) "00.00.0000" And Cells(i, 3) "00.00.0000" Then
Ansonsten prüft Excel nur ob in Cells(i,2) überhaupt ein Wert steht.
Ich denke, dass damit auch das Laufzeitproblem behoben ist. Leider kenne ich das ganze Arbeitblatt nicht und kanns nicht ausprobieren.
Marc
AW: Performance verbessern
12.05.2004 11:42:00
KleinKatha
Hallo Marc,
vielen Dank für den Hinweis. Leider ist die Laufzeit dadurch auch nicht schneller geworden.
Ich hänge mal eine Beispieldatei an. (Habe statt mit i zu arbeiten noch Offset eingebaut)
https://www.herber.de/bbs/user/6259.xls
Gruß
Katharina
Anzeige
Performance verbessern?
12.05.2004 11:53:55
Marc
Hallo Katherina,
welches Laufzeitproblem?
Im Ernst, bei mir dauert das keine Sekunde! Und ich würde meinen PC als guten Durchschnitt bezeichnen.
Da Du Excel 2003 hast, kann Dein PC auch nicht sooo alt sein, dass er dermaßen lange dauert.
Woran das liegen könnte, kann ich nur raten.
Der Quelltext ist auf jeden Fall einwandfrei!
Gruß Marc
AW: Performance verbessern?
KleinKatha
Ich hab nochmal nachgeschaut.
Es ist Excel 2002, aber daran kanns ja wohl nicht liegen.
Jetzt weiß ich gar nicht mehr was ich machen soll. Wenns nicht an meinem Code liegt kann ich ja nichts ändern. :o(
Danke trotzdem,
Katharina
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige