28.01.2017, 12:38
Hallo snb,
wegen dem Offtopic Geschreibsel, sind die fachlichen Dinge etwas zurückgedrängt worden.
Ich habe Deinen zuletzt geposteten Code noch einmal getestet und muss feststellen, dass er doch der schnellere ist.
Schnell bedeutet für mich Ressourcen schonen. Deshalb ist das Thema bei großen Datenmengen auch ein wichtiger Bestandteil,
welches bei der Entwicklung von Code berücksichtigt werden sollte.
Nun aber eine Verständnisfrage zum Code, welche ich Dir zwar gestern schon gestellt habe, da Du mit Deinen Worten sehr knauserig bist,
bist Du bisher nicht darauf eingegangen.
In folgender Zeile:
nutzt Du die Zahl 60 als Grenze. Wie kommst Du auf diese? Machst Du das per Augenschein, oder hast Du eine Technik, Dich ihr zu nähern?
Da sitzt nämlich eines der Resourcenfresser bei mir im Code mit dieser Zeile:
ermittle ich die Arraygrenze. Ich habe festgestellt, dass der Code ohne diese Berechnung erheblich schneller wird.
Hast Du dafür eine Alternative.
Das was Du mit der oben gezeigten Zeile von Dir machst, mache ich ja mit diesen Zeilen:
Dieser innere Schleifendurchlauf ist bei mir einer der nächsten Bremsen.
Das war gestern auch einer meiner Fragen, wie ich auf die Schleife verzichten und den Teil mit Split in einem in das Array arr schreiben kann.
Und wie ich es dann wieder in die Tabellle übertrage.
Ich habe mir Deine Seite angesehen. Da steckt sehr viel Info drin, einiges ist für mich offensichtlich andere sind schwieriger nachzuvollziehen.
Dort machst Du nämlich das Gleiche wie hier, Du geshst nicht nur sparsam mit Code um, sondern auch mit Deinen Worten.
Wäre schön, wenn du mir zu den oben gestellten Fragen ein paar Takte schreiben könntest.
wegen dem Offtopic Geschreibsel, sind die fachlichen Dinge etwas zurückgedrängt worden.
Ich habe Deinen zuletzt geposteten Code noch einmal getestet und muss feststellen, dass er doch der schnellere ist.
Schnell bedeutet für mich Ressourcen schonen. Deshalb ist das Thema bei großen Datenmengen auch ein wichtiger Bestandteil,
welches bei der Entwicklung von Code berücksichtigt werden sollte.
Nun aber eine Verständnisfrage zum Code, welche ich Dir zwar gestern schon gestellt habe, da Du mit Deinen Worten sehr knauserig bist,
bist Du bisher nicht darauf eingegangen.
In folgender Zeile:
Code:
.Item(it) = Split(it & .Item(it) & String(60 - UBound(Split(.Item(it), "_")), "_"), "_")
nutzt Du die Zahl 60 als Grenze. Wie kommst Du auf diese? Machst Du das per Augenschein, oder hast Du eine Technik, Dich ihr zu nähern?
Da sitzt nämlich eines der Resourcenfresser bei mir im Code mit dieser Zeile:
Code:
zZ = Application.Max(zZ, UBound(Split(c(feld(i, 1)), "#")) + 1)
ermittle ich die Arraygrenze. Ich habe festgestellt, dass der Code ohne diese Berechnung erheblich schneller wird.
Hast Du dafür eine Alternative.
Das was Du mit der oben gezeigten Zeile von Dir machst, mache ich ja mit diesen Zeilen:
Code:
For j = 1 To UBound(Split(c(vntK), "#"))
arr(k, j) = Split(c(vntK), "#")(j)
Next j
Dieser innere Schleifendurchlauf ist bei mir einer der nächsten Bremsen.
Das war gestern auch einer meiner Fragen, wie ich auf die Schleife verzichten und den Teil mit Split in einem in das Array arr schreiben kann.
Und wie ich es dann wieder in die Tabellle übertrage.
Ich habe mir Deine Seite angesehen. Da steckt sehr viel Info drin, einiges ist für mich offensichtlich andere sind schwieriger nachzuvollziehen.
Dort machst Du nämlich das Gleiche wie hier, Du geshst nicht nur sparsam mit Code um, sondern auch mit Deinen Worten.
Wäre schön, wenn du mir zu den oben gestellten Fragen ein paar Takte schreiben könntest.
Gruß Atilla