Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelleinträge in Spalten aufteilen

Zelleinträge in Spalten aufteilen
07.12.2004 15:11:56
Thomas
Hallo,
mir stehen mehrere tausend Datensätze nur als zeilenweise Zelleinträge zur Verfügung, obwohl jeder einzelne Datensatz mehrere und auf Spalten aufzuteilende Daten enthält (z.B. aus Eintrag A1 soll Eintrag A1, B1, C1, D1, E1, F1 werden).
Format der Datensätze:
======================
- zu Beginn steht immer ein String mit variabler Länge, der manchmal auch mit "-" anfängt.
- danach folgen ein oder mehrere Leerzeichen.
- schließlich folgen 5 Zahlenkolonnen, die wieder mit einem oder mehreren Leerzeichen getrennt sind.
- die Zahlenwerte variieren und bestehen manchmal aus einer, zwei oder max. 3 Ziffern.
Beispiele:
==========
Eintrag in Zelle A1: "VariablerText1 25 30 20 10 50"
Eintrag in Zelle A2: "VariablerText2 30 31 25 100 550"
usw.
Frage:
======
Wie kann ich die jeweiligen Inhalte der Zellen in 6 Spalten aufteilen, ohne dass die Leerzeichen enthalten sind?
Datensatz 1:
Spalte 1 = Text1
Spalte 2 = Wert 1 (erster Wert von links)
Spalte 3 = Wert 2 (zweiter Wert von links)
usw.
Vielen Dank für eingehende Tipps!!
Gruß
Thomas

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

Betreff
Datum
Anwender
Anzeige
AW: Zelleinträge in Spalten aufteilen
schnubbel
such mal nach der funktion trennen ich hab bloß im moment kein excel und kanns dir nicht genau sagen, damit gehts jedenfalls denke ich - auf jeden fall wenn du immer einen gewissen aufbau hast...
sorry bin on the road deswegen keine detailiertere auskunft
AW: Zelleinträge in Spalten aufteilen
Volker
Hallo Thomas,
versuch's mal mit Menü "Daten/Text in Spalten".
Da kannst Du das Trennzeichen einstellen und festlegen, das mehrere davon als eines behandelt werden,
Gruß
Volker
AW: Zelleinträge in Spalten aufteilen
Thomas
Danke für diesen Tipp.
Die Zahlen werden nun korrekt verteilt.
Aber:
Der Text zu Beginn des Datensatzes kann aus mehreren Wörtern (leider ebenfalls mit Leerzeichen getrennt) bestehen. Diese Wörter werden somit auch in Spalten verteilt!
Die Wörter mit beginnendem "-" werden ebenfalls aufgeteilt!
Lösungsvorschlag?
Gruß
Thomas
Anzeige
AW: Zelleinträge in Spalten aufteilen
Volker
Hallo Thomas,
Wenn Du die Minuszeichen nicht brauchst, dann entferne sie durch suchen/ersetzen.
Was den Rest angeht, kommst Du nicht drumherum, dich ein wenig mit VBA anzufreunden.
Da die Strings am Anfang unterschiedlich lang sind und selber teilweise " " enthalten,
müßte man in jeder Zeile nach der Stelle der 1. Ziffer suchen und den kompletten Datensatz dann aufteillen.
hier mal ein Vorschlag
sub datensatz_aufteilen()
dim i,j as integer
i=1
j=1
while cells(i,1) ""
while asc(mid(cells(i,1),j,1) 39
j=j+1
wend
cells(i,2)=mid(cells(i,1),j)
cells(i,1)=left(cells(i,1),j-1)
i=i+1
wend
Das funzt aber nur, wenn in deinem Anfangsstring keine Ziffern vorkommen.
Gib mal laut, ob es geht.
Gruß
Volker
Anzeige
AW: Zelleinträge in Spalten aufteilen
Thomas
Hallo Volker,
die Minuszeichen werden leider gebraucht, aber am Anfang stehen nie Ziffern.
Dein Makro hab ich ausprobiert, läuft leider nicht.
Kompilierungsfehler in der Zeile:
while asc(mid(cells(i,1),j,1) 39
Irgendetwas mag Excel da nicht.
Gruß
Thomas
AW: Zelleinträge in Spalten aufteilen
Volker
Hallo Thomas,
hab die

Sub direkt eingetippt und darum nicht selber getestet.
Dadurch haben sich ein paar Bugs eingeschlichen.
So sollte es aber jetzt klappen:

Sub datensatz_aufteilen()
Dim i, j As Integer
i = 1
j = 1
While Cells(i, 1) <> ""
While Asc(Mid(Cells(i, 1), j, 1)) < 48 Or Asc(Mid(Cells(i, 1), j, 1)) > 57
j = j + 1
Wend
Cells(i, 2) = Mid(Cells(i, 1), j)
Cells(i, 1) = Left(Cells(i, 1), j - 1)
i = i + 1
j = 1
Wend
End Sub

Denn Inhalt von Spalte B kann man der SPLIT-Anweisung aufteilen.
Oder Du zeichnest die "Daten/Text in Spalten" Aktion mit dem Rekorder auf und hängst den Code hinter meinen. Ist wahrscheinlich das einfachste
Gruß
Volker
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige