AW: Der absolute Oberhammer, Onur
19.01.2019 21:16:51
Toni
sehr sehr cool!
das allein schon: wie ich bei unbekannter Spaltenlänge, mehrere Spalten der Reihe nach in ein Array einlese: Neu für mich:
ze(i) = z
sp(i) = s
ich überleg noch, warum das hier, weil da doch noch nichts drin war. Ist das eventuell für die Performance besser, wenn man die leert vorher? Außerdem werden die eigentlich nie benutzt? doch nur Galerie? ;)
Erase ArrVQ, ArrVZ, ZaQ, ZaZ, PosSep 'Arrays leeren
ReDim ArrVQ(0)
ReDim ArrVZ(0)
ReDim PosSep(0)
Genau!, wenn ich die im Array drin hab, brauch ich den Tabellenort nicht mehr, aber in echt gelöst seh ich das auch zum ersten Mal:
txtQ = Cells(ze(ii - 4), sp(ii - 4)).Text '"ze(ii - 4)" statt "z-4", da "z-4" falsch wäre bei "Zeilenumbruch "
dieses found-Konstrukt war mir so auch neu (ist ja z.B. auch bei Mid und ähnlichem sehr hilfreich), mal abgesehen davon, dass ich InStr, Val und Trim noch nie benutzt habe und vorher überlegt habe wie ich denn je an die einzelnen abweichenden Zahlen in den Zellen ran kommen soll - also speicher ichs einfach in PosSep - einfach genial:
found = InStr(found + 1, txtZ, ",")
Dieses Boolean-Array verstehe ich noch nicht:
ZaZ(Val(arrZ(i))) = True 'Aus Text Zhlen machen und speichern
weil: im Lokalfenster steht ja für dieses Array nur wahr/falsch - aber die Zahl aus der Zeichenkette selbst muss ja auch noch irgend wie enthalten sein, sonst könnte er ja 'Zahl' nicht abgleichen:
If Not ZaQ(zahl) And zahl > 0 Then 'Wenn Zahl nicht in Quellzelle enthalten und nicht 0
der ist glaub ich für die Galerie ^^:
wort = Trim(arrQ(i)) 'Als Text speichern
Alles in allem so viel Neues und Interessantes, ich bin vollauf begeistert, was ich heute lernen durfte! Ich kann Dir nicht genug danken mein Lieber!
Grüße Toni