Spaltenzahl bestimmen
29.08.2008 15:33:00
Tommi
ich habe folgendes Problem. Ich habe eine Datei mit tausenden von Zeilen. Unterteilt ist das Ganze in einzelne Blöcke a X Zeilen (10-300).
Nun brauche ich die maximale Länge eines jeden Blocks, wobei ich weiss, welche Zeile die Längste ist.
Im Moment habe ich also ein Array, in dem der erste Wert für den Block steht und der zweite Wert durch eine Schleifenvariable bestimmt wird, im Stil von
spalte = 256
Do While Cells(langezeile, spalte) = ""
spalte = spalte - 1
Next spalte
block(nr, 2)=spalte
Das mache ich für jeden Block und am Ende habe ich was ich will. Mein Problem ist, das dauert recht lange.
Von vorne geht es ein bisserl schneller, aber je nach Länge ist natürlich von vorne oder von hinten lesen länger.
Kann man das irgendwie beschleunigen? Also gibt es z.B. eine Funktion die in einer Zeile direkt die letzte benutzte Spalte ausgibt? Vlt. irgendein excelinterner Marker der abfragbar ist?
Das Problem ist, die Aktion muss sehr oft gemacht werden, weswegen ich das gerne optimieren würde.
Und noch eine Sache, ist es irgendwie möglich die spätere Druckbreite herauszubekommen? Ich meine die Zellenbreite ist ja eine Sache, aber je nach Schriftart/typ wird der Ausdruck ja leider unterschiedlich groß...
LG,
Tommi