Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte in Spalte splitten

Werte in Spalte splitten
14.11.2006 13:08:05
Metman
Hallo leute,
nachdem mir heute der Heiko schon so super geholfen hat, stelle ich meine Frage gleich hier in dieser kompetenten Community.
Ich hab eine Datei, die wird Zeilenweise eingelesen, danach werden diese Zeilen in Spalten umgewandelt (getrennt durch Space).
Funktioniert alles super und wunderbar.
Nun kommt der nächste schritt. Ich muss die werte in z.bsp. spalte D zerlegen und zwar so.
Spalte D
---------
0CF00400x
18F0010Bx
...
in
Spalte D Spalte E Spalte F
-----------------------------------
0C________F004______00
18________F001______0B
Mein erster Gedanke wie ich das mache war, Mid und Left zu benutzen.
Problematisch ist auch, das die null am anfang angezeigt werden soll.
Hat jemand ne Idee?
best regards
metman

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte in Spalte splitten
14.11.2006 13:21:52
Erich
Hallo Metman,
dein erster Gedanke war doch gut!
Probiers mal mit
Sub ZerlegenD()
Dim lngZ As Long
Columns("D:F").NumberFormat = "@"
For lngZ = 1 To Cells(Rows.Count, 4).End(xlUp).Row
Cells(lngZ, 6) = Left(Right(Cells(lngZ, 4), 3), 2)
Cells(lngZ, 5) = Left(Right(Cells(lngZ, 4), 7), 4)
Cells(lngZ, 4) = Left(Cells(lngZ, 4), 2)
Next lngZ
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Werte in Spalte splitten
14.11.2006 14:15:53
Metman
Hallo erich.
hat wnuderbar geklappt, danke.
Er überschreibt einfach die spalten rechts daneben. Zum Glück stehen da werte drin die nicht wichtig sind ;)
Ich habs versucht so zu lösen
For Each Data In Range("D6:D65536")
If Len(Date) = 8 Then
First = Mid(Data, 1, 2)
Second = Mid(Data, 3, 4)
Third = Mid(Data, 7, 2)
...
Danach die werte in die Spalten schreiben, hat aber irgendwie nicht geklappt.
Deine Lösung hat wunderbar geklappt. Danke nochmals!
gruß
Anzeige
AW: Werte in Spalte splitten
14.11.2006 14:13:54
Ludicla
Hi Metman,
wenn immer 2 bzw. 4 Zeichen passend sind, dann nimm im Menü
"Daten" - "Text in Spalten" - "Feste Breite" -
dann kannst Du in der Vorschau beim Pfeillinien setzen.
(im Fenster beschrieben).
die Null bleibt erhalten - da Text
Gruss Ludicla
AW: Werte in Spalte splitten
14.11.2006 14:57:00
Metman
Danke Ludicia,
passt nun perfekt.
Habe noch den Code mit Mid angepasst,

Sub ZerlegenD()
Dim lngZ As Long
Application.ScreenUpdating = False
Columns("D:D").NumberFormat = "@"
For lngZ = 1 To Cells(Rows.Count, 4).End(xlUp).Row
Cells(lngZ, 6) = Mid(Cells(lngZ, 4), 7, 2)
Cells(lngZ, 5) = Mid(Cells(lngZ, 4), 3, 4)
Cells(lngZ, 4) = Mid(Cells(lngZ, 4), 1, 2)
Next lngZ
Application.ScreenUpdating = True
End Sub

bin begeistert!!
Danke nochmals
gruß
Anzeige
AW: Werte in Spalte splitten
14.11.2006 17:00:02
Erich
Hi Metman,
dass in meinem Code kein "Mid" vorkommt, hat einen Grund:
Solange es einigermaßen übersichtlich bleibt, nutze ich Left und Right, vermeide aber Mid.
Mid ist bei größeren Datenmengen spürbar langsamer.
Statt
Mid(Cells(lngZ, 4), 1, 2) sollte man aber doch bei
Left(Cells(lngZ, 4), 2) bleiben...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Werte in Spalte splitten
15.11.2006 07:14:12
Metman
Moin Erich,
achso, wußte ich nicht das es langsamer ist. Dann lass ich es so wie du es gemacht hast.
Auf der MS Homepage stand nur, das es das flexibler ist als Left/Right.
Egal :)
Danke nochmals
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige