Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schnellere Ausgabe von 12.000 Werten aus Binär-Dat

Schnellere Ausgabe von 12.000 Werten aus Binär-Dat
23.09.2004 17:26:59
12.000
Hallo liebe Excel-Freaks,
in meinem Makro lese ich eine Binär-Datei mit ca. 6.000 Wertepaaren in mein Datenfeld "h(1 to 10) as long" Zeilenweise ein (Ein Wertepaar besteht aus 10 Long-Integers, wovon ich nur den 2. und 4. benötige)
Die Einlesen und Ausgeben erfolgt in einer Schleife
Application.screenupdating = false
application.calculation = xlmanual
While not eof(filenr)
...
'#Kraft
Cells(counter, spalte) = h(2)
'#Weg
Cells(counter, spaltem) = h(4) / 1000#
wend
Das Ausgeben der Werte mit Cells(... dauert allerdings je nach Rechner ca. 12 bis 45 sec, wenn ich die Ausgabe der Werte weglasse (was natürlich keinen Sinn macht) läuft das Makro auf jedem Rechner in ca. 1 sec.
Gibt es irgendwas, womit ich die Ausgabe der Werte beschleunigen könnte?
Danke für die Hilfe
Jan L.
AW: Schnellere Ausgabe von 12.000 Werten aus Binär-Dat
12.000
Lies die Werte in einen Array und übergib ihn auf einen Rutsch der Tabelle, geht deutlich schneller.
Ulf
AW: Schnellere Ausgabe von 12.000 Werten aus Binär-Dat
12.000
Hallo Ulf,
wie übergebe ich Werte aus einem Datenfeld auf einen Rutsch? Bis jetzt kenn ich nur die Methode Arrays mit "for ... Cells(... next" oder ähnlichem auszugeben, also auch wieder jeden Wert einzeln.
Gruß
Jan
AW: Schnellere Ausgabe von 12.000 Werten aus Binär-Dat
12.000
Prinzip:
Option Explicit
Option Base 1
Sub Test()
Dim arr(1 To 20, 1 To 10) As Double, z As Long, s As Integer
Dim Bereich As Range
Set Bereich = [a1:j20]
For z = 1 To 20
For s = 1 To 10
arr(z, s) = Rnd
Next
Next
Bereich = arr
End Sub

Ulf
Anzeige
AW: Schnellere Ausgabe von 12.000 Werten aus Binär-Dat
12.000
Hallo
Mit dem Befehl kannst du die Aktualisierung deines Bildschirmes ein und ausschalten.
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Gruß Andreas
AW: Schnellere Ausgabe von 12.000 Werten aus Binär-Dat
12.000
Das hat er im Code schon drin!
Ulf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige