Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel 2003 / 2007 Geschwindigkeit Array in Range

Forumthread: Excel 2003 / 2007 Geschwindigkeit Array in Range

Excel 2003 / 2007 Geschwindigkeit Array in Range
09.11.2007 09:42:00
Peter
Hallo Fachmänner und Fachfrauen,
ich habe 2 Dateien mit jeweils dem gleichen Makro. Das Makro erstellt ein Feld und schreibt dises in das Tabellenblatt1. Es wird die Zeit gemessen, die für das reine Schreiben benötigt wird.
Unter Excel 2003 dauert das bei mit ca. 4 bis 5 Sekunden.
Unter Excel 2007 dauert das bei mit ca. 35 bis 40 Sekunden.
Kann mir jemand sagen, ob das ausschließlich an der erhöhten Zeilen- und Spaltenanzahl bei Excel 2007 liegt - oder mach ich einen ganz anderen Fehler?
Hier der Link zu den Dateien: https://www.herber.de/bbs/user/47538.zip
Bekomme ich das unter Excel 2007 irgendwie schneller hin?
Für jede Hilfe dankbar...
Peter

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2003 / 2007 Geschwindigkeit Array in Range
09.11.2007 18:22:00
Peter
Weiß denn keiner eine Antwort? - Gibts doch nicht...
Peter

AW: Excel 2003 / 2007 Geschwindigkeit Array in Range
09.11.2007 18:43:44
Jan
Hi,
habs mal gestestet, unter E 2007 braucht der Code im Schnitt 58% mehr Laufzeit.
Da du ja eigentlich schon alle Beschleuningungsmaßnahmen eingebaut hast, sehe
ich schwarz, das schneller hinzubekommen.
mfg Jan

Anzeige
AW: Excel 2003 / 2007 Geschwindigkeit Array in Range
09.11.2007 18:47:00
Peter
Danke für die Antwort,
schade - aber vielleicht weiß ja noch jemand eine Lösung...
Gruß
Peter

AW: Excel 2003 / 2007 Geschwindigkeit Array in Range
12.11.2007 00:16:00
Gerd
Hallo Peter,
mit dem Datentyp Variant für's Datenfeld in 6 Sekunden?. Und beim Wiederholen sollte man zuerst die Zellen leeren. Trotzdessen wird dann die Laufzeit stets länger. Ein Speicherfresser bleibt dieses Konstrukt immer. Mit xl2007 kann ich allerdings leider nicht testen.
Option Explicit
Option Base 1

Sub M_test()
Dim T As Single
T = Timer
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Dim k As Long
Dim j As Long
Dim rng As Range
Dim ws As Worksheet
Dim ec(22000, 256) As Long
For k = 1 To 22000
For j = 1 To 256
ec(k, j) = j + k
Next j
Next k
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(22000, 256))
rng.Value = ec
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True
MsgBox "Zeit = " & Timer - T & " sec."
End Sub


Gruß Gerd

Anzeige
AW: Excel 2003 / 2007 Geschwindigkeit Array in Ran
12.11.2007 01:05:00
fcs
Hallo Peter,
du solltest evtl. mal die Variablendeklaration für die Array-Variable überdenken.
Dim ec(22000, 256) As Variant
Die Deklaration als Variant ist extrem speicherplatz-hungrig. Bei einer Marix mit 5632000 Zellen ist damit natürlich auch das Schreiben/Lesen der Daten entsprechend speicher/zeitaufwendig.
Passe die Deklaration an das tatsächliche Datenformat an (Integer, Long, Double oder String). Bei meinem schon etwas betagten System mit Excel97/Windows98 dauerte der Eintrag des Arrays in die Tabelle bei Deklaration als Integer ca. 15 Sekunden, die Datenaufbereitung in der For-Schleife kaum länger. Bei Deklaration als Variant tauchte das System minutenlang ab mit ewigen Festplattenzugriffen.
Gruß
Franz

Anzeige
AW: Excel 2003 / 2007 Geschwindigkeit Array in Ran
12.11.2007 11:00:28
Peter
Hallo Franz,
danke für die Antwort.
Unter Excel2007 kann ich allerdings keine Unterschied bei verwendung verschiedener Datenformate feststellen. Egal ob Integer, Long, Variant oder String - alles dauert so um die 40 Sekunden...
Ich werde mich anscheinend damit abfinden müssen, dass das Excel2007 mit einem Geschwindigkeitsverlust (zu mindest für meinen Fall) verbunden ist...
Peter
P.S.: Danke auch an Gerd für seine Antwort
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige