String/Text in Tabelle in Zahl wandeln mit Range
28.09.2006 01:08:38
Ralf
ich habe einen String, bzw. einen Text, den ich in eine Zahl wandeln möchte.
Momentan habe ich das mit Cells und Val(Mid(...)) laufen. Allerdings dauert das fast eine Minute, da es ca. 25000 Zeilen sind.
Der Text sieht wie folgt aus: Ch1: 54451 Ch2: 190365 Ch3: 190040
Er steht in einer txt Datei, welche ich in das Dokument kopiere, mit der besagten Anzahl an Zeilen. Er steht dann aber nur in einer Spalte, z.B. A.
Nun will ich diesen ganzen Text in B und C kopieren(funktioniert mit range sehr fix). Anschließend möchte ich nur den erste Teil (Ch1: 54451) in eine Zahl wandeln (54451). Danach die Spalte B mit dem mittleren Teil und danach C...
Also sieht das vorher wie folgt aus.
..............Zelle A.................
Ch1: 54451 Ch2: 190366 Ch3: 190037
Ch1: 54451 Ch2: 190366 Ch3: 190040
Ch1: 54451 Ch2: 190366 Ch3: 190041
Ch1: 54451 Ch2: 190364 Ch3: 190039
Ch1: 54451 Ch2: 190365 Ch3: 190040
Danach (C passt hier grad nicht):
..............Zelle A................. ..............Zelle B.................
Ch1: 54451 Ch2: 190366 Ch3: 190037 Ch1: 54451 Ch2: 190366 Ch3: 190037
Ch1: 54451 Ch2: 190366 Ch3: 190040 Ch1: 54451 Ch2: 190366 Ch3: 190040
Ch1: 54451 Ch2: 190366 Ch3: 190041 Ch1: 54451 Ch2: 190366 Ch3: 190041
Ch1: 54451 Ch2: 190364 Ch3: 190039 Ch1: 54451 Ch2: 190364 Ch3: 190039
Ch1: 54451 Ch2: 190365 Ch3: 190040 Ch1: 54451 Ch2: 190365 Ch3: 190040
und dann, was ich bis jetzt noch nicht geschaft habe mit range:
..A.. ..B... ..C...
54451 190366 190037
54451 190366 190040
54451 190366 190041
54451 190364 190039
54451 190365 190040
ich habs mal so probiert für A:
Range("A1").Formula = Val(Mid$(Cells(1, 5), 6, 5))
Range("A1:A" & iRow).FillDown
Allerdings füllt der dann alle Zeilen nur mit dem ersten Wert. Wenn ich für Cells noch die Vaiable iRow einsetze sind überall der Letze wert drinen.
Ich weis net mehr so recht weiter. Würde mich freuen wenn ihr mir helfen könntet.
Viele Rrüße
Ralf Kirschbaum