04.04.2019, 19:20
Guten Tag
Wir haben bei uns neuerdings WIN10 und Excel 2016 installiert. Letztes Jahr lief eine relativ grosse Berechnung eines Arrays, das ich von Peter Haserodt entlehnt habe, irrsinnig schnell. Nun wollte ich die Datei wieder verwenden (wie jedes Jahr neu) und die Berechnung dauert eeewig . Eventuell kann mir jemand helfen.
Das Schnipsel von Peter war folgendes:
' Dim i As Long, vx(1 To 10000, 1 To 1) As Variant
' Randomize Timer
' For i = 1 To 10000
' vx(i, 1) = Int(500 * Rnd + 1)
' Next i
' With Worksheets("Tabelle1")
' .Range(.Cells(1, 1), .Cells(10000, 1)) = vx
' End With
Ich verwende es (im Prinzip) so:
Dim vx(1 To 999000, 1 To 1) As Variant 'Array für Formelvorbereitung
For i = ErsteZeile To AnzZeilen + ErsteZeile - 2
FormelDRP = "=$BG$" & i2 'Formel zusammensetzen für Spalte BG und
vx(1 + i - ErsteZeile, 1) = FormelDRP 'in Array eintragen
Next i
With ActiveSheet
.Range(.Cells(ErsteZeile, intK), _
.Cells(AnzZeilen + ErsteZeile - 2, intK)) = vx 'Gesammeltes Array in Kolonne eintragen
End With
Ich war damals wahnsinnig begeistert :19: . Die Berechnung für 200'000 Zeilen dauerte ca 10 sec. Nun dauert es für 70'000 mind 15 min .
Vielen Dank schon mal für eure Hilfe.
Gruss aus der verschneiten Schweiz.
Rodlof
Wir haben bei uns neuerdings WIN10 und Excel 2016 installiert. Letztes Jahr lief eine relativ grosse Berechnung eines Arrays, das ich von Peter Haserodt entlehnt habe, irrsinnig schnell. Nun wollte ich die Datei wieder verwenden (wie jedes Jahr neu) und die Berechnung dauert eeewig . Eventuell kann mir jemand helfen.
Das Schnipsel von Peter war folgendes:
' Dim i As Long, vx(1 To 10000, 1 To 1) As Variant
' Randomize Timer
' For i = 1 To 10000
' vx(i, 1) = Int(500 * Rnd + 1)
' Next i
' With Worksheets("Tabelle1")
' .Range(.Cells(1, 1), .Cells(10000, 1)) = vx
' End With
Ich verwende es (im Prinzip) so:
Dim vx(1 To 999000, 1 To 1) As Variant 'Array für Formelvorbereitung
For i = ErsteZeile To AnzZeilen + ErsteZeile - 2
FormelDRP = "=$BG$" & i2 'Formel zusammensetzen für Spalte BG und
vx(1 + i - ErsteZeile, 1) = FormelDRP 'in Array eintragen
Next i
With ActiveSheet
.Range(.Cells(ErsteZeile, intK), _
.Cells(AnzZeilen + ErsteZeile - 2, intK)) = vx 'Gesammeltes Array in Kolonne eintragen
End With
Ich war damals wahnsinnig begeistert :19: . Die Berechnung für 200'000 Zeilen dauerte ca 10 sec. Nun dauert es für 70'000 mind 15 min .
Vielen Dank schon mal für eure Hilfe.
Gruss aus der verschneiten Schweiz.
Rodlof