Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eine Spalte aufteilen in mehrere Spalten

Forumthread: Eine Spalte aufteilen in mehrere Spalten

Eine Spalte aufteilen in mehrere Spalten
07.02.2004 21:40:06
Jennifer Weinberg
Hallo,
ich muss regelmäßig eine lange Excel-Tabelle abarbeiten, und versuche seit Tagen verzweifelt ein Makro zu schreiben,
dass mir ein wenig abnimmt, aber schaffe es nicht.
Es geht um folgendes:
Ich habe eine Arbeitsmappe bei der in Spalte A 10.000 & mehr Begriffe untereinander aufgelistet sind.
Diese Begriffe muss ich auf die Spalten B, C, D, E usw. aufteilen.
So sieht eine Beispiel-Liste aus:
Nokia Handy
Mercedes Bus
BMW Cabrio
Mercedes-Car
Mercedes Benz
usw.
Die Schwierigkeit daran ist nun, dass man vorher einen Zahlenbereich festlegen können muss (z.B. "zwischen 100-145")
und der Inhalt von Spalte A nun auf Spalte B, C, D usw. verteilt wird,
wobei jede Spalte zwischen 100-145 Inhalte aus Spalte A abbekommt.

Ich weiss, das ist nicht ganz einfach, aber alleine packe ich es nicht und habe gehofft, dass mir jmd weiterhelfen kann,
der sich viel besser als ich mit Excel bzw. Makros auskennt.

Herzlichen Dank im Voraus, Jennnifer
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Spalte aufteilen in mehrere Spalten
07.02.2004 21:50:29
Hajo_Zi
Hallo Jennnifer
hast Du Dir schon mal Daten, Text in Spalten angesehen??
Gruß Hajo
AW: Eine Spalte aufteilen in mehrere Spalten
07.02.2004 21:54:03
Erich M.
Hallo Jennifer,
beschäftige mich z.Zt. mit einem ähnlichen Problem. Wie ist das mit dem Zahlenbereich
zu verstehen. kannst Du evtl eine Musterdatei hochladen? Vielleicht hilft es Dir weiter
wenn Du unter suchen: Erich M. meine aktuellen Threads abfrägst.
mfg
Erich
Anzeige
AW: Eine Spalte aufteilen in mehrere Spalten
07.02.2004 22:12:23
Boris
Hi Jennifer,
...ich hab das jetzt nicht getestet - aber als Ansatz dürfte es vielleicht dienen.
Voraussetzung im Code:
Daten stehen in Spalte A - und werden - nach Abfrage durch eine Inputbox - aufgeteilt in die Spalten B bis ...
Fehlerroutinen (w/Texteingaben oder negativer Zahlen oder...) hab ich mir erstmal gespart.

Sub aufteilen()
Dim lRow As Long, lngAnz As Variant, iCol As Integer, iMax As Integer
lRow = Cells(Rows.Count, "A").End(xlUp).Row
lngAnz = Application.InputBox("Vorab zur Info:" & Chr(10) _
& "Spalte A ist gefüllt bis Zeile " & lRow & Chr(10) & Chr(10) _
& "Wieviele pro Spalte?", "Geben sie vor...", Int(lRow / 5))
If lngAnz = False Then Exit Sub
iMax = Int(lRow / lngAnz) + 1
For iCol = 1 To iMax
If iCol = 1 Then
Range("A1:A" & lngAnz).Copy Cells(1, iCol + 1)
Else
Range("A" & (iCol - 1) * lngAnz, "A" & (iCol - 1) * lngAnz + lngAnz).Copy Cells(1, iCol + 1)
End If
Next iCol
End Sub

Grüße Boris
Anzeige
AW: Eine Spalte aufteilen in mehrere Spalten
07.02.2004 22:25:12
Jennifer Weinberg
Hi Boris,
dieses Makro ist super, vielen Dank.

Nur 2 Probleme treten noch auf:
1. Bei der Aufteilung auf mehrere Spalten ist der Inhalt der letzten Zelle einer Spalte,
immer auch gleich dem Inhalt der ersten Zelle der nächsten/darauf folgenden Spalte.
2. Kriegst Du das mit einem Zufallsbereich hin, so dass man angeben kann jede Spalte soll Minimal 100 & Maximal 150 Zeilen abbekommen.

Herzlichen Dank für die Hilfe, Jennifer
Anzeige
Frage 2 noch offen...
07.02.2004 22:34:36
Boris
Hi Jennifer,
Frage 1 ist schnell geklärt:
Range("A" & (iCol - 1) * lngAnz + 1, "A" & (iCol - 1) * lngAnz + lngAnz).Copy Cells(1, iCol + 1)
Sezte diese Zeile an die Stelle der alten. Eigentlich ist nur das +1 neu.
Frage 2 ist gar nicht mal so eben geklärt - ich überlege noch - und andere bitte auch;-)
Grüße Boris
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Eine Spalte in mehrere Spalten aufteilen


Schritt-für-Schritt-Anleitung

Um eine lange Liste in Excel auf mehrere Spalten aufzuteilen, kannst Du folgende Schritte befolgen:

  1. Daten in Spalte A eingeben: Stelle sicher, dass Deine Daten in Spalte A aufgelistet sind. Zum Beispiel:

    Nokia Handy
    Mercedes Bus
    BMW Cabrio
    Mercedes-Car
    Mercedes Benz
  2. Makro erstellen: Gehe zu Entwicklertools > Visual Basic, um den VBA-Editor zu öffnen. Füge folgenden Code in ein neues Modul ein:

    Sub aufteilen()
       Dim lRow As Long, lngAnz As Variant, iCol As Integer, iMax As Integer
       lRow = Cells(Rows.Count, "A").End(xlUp).Row
       lngAnz = Application.InputBox("Wieviele pro Spalte?", "Geben Sie vor...", Int(lRow / 5))
       If lngAnz = False Then Exit Sub
       iMax = Int(lRow / lngAnz) + 1
       For iCol = 1 To iMax
           If iCol = 1 Then
               Range("A1:A" & lngAnz).Copy Cells(1, iCol + 1)
           Else
               Range("A" & (iCol - 1) * lngAnz + 1, "A" & (iCol * lngAnz)).Copy Cells(1, iCol + 1)
           End If
       Next iCol
    End Sub
  3. Makro ausführen: Schließe den VBA-Editor und kehre zu Excel zurück. Führe das Makro über Entwicklertools > Makros aus und wähle aufteilen.

  4. Eingabe für die Anzahl der Zeilen: Gib die Anzahl der Zeilen ein, die in jeder Spalte erscheinen sollen.

  5. Ergebnis überprüfen: Deine Daten aus Spalte A werden nun gleichmäßig auf die Spalten B, C, D usw. verteilt.


Häufige Fehler und Lösungen

  • Problem: Der Inhalt der letzten Zelle einer Spalte ist gleich dem Inhalt der ersten Zelle der nächsten Spalte.

    • Lösung: Stelle sicher, dass im Code Range("A" & (iCol - 1) * lngAnz + 1, "A" & (iCol * lngAnz)).Copy verwendet wird, um die richtige Zelle zu kopieren.
  • Problem: Das Makro funktioniert nicht richtig bei sehr langen Listen.

    • Lösung: Überprüfe die Eingabe für den Zahlenbereich und stelle sicher, dass Du einen realistischen Wert eingibst.

Alternative Methoden

Wenn Du keine Makros verwenden möchtest, kannst Du auch die Funktion „Text in Spalten“ nutzen:

  1. Markiere die Spalte A.
  2. Gehe zu Daten > Text in Spalten.
  3. Wähle die Option, die zu Deinem Datenformat passt (z.B. „Getrennt“).
  4. Folge den Anweisungen im Assistenten, um die Daten in mehrere Spalten aufzuteilen.

Praktische Beispiele

Ein Beispiel für eine lange Liste in Spalte A könnte wie folgt aussehen:

A
Nokia Handy
Mercedes Bus
BMW Cabrio
Mercedes-Car
Mercedes Benz

Nach Ausführung des Makros erhältst Du:

B C D E
Nokia Handy BMW Cabrio
Mercedes Bus Mercedes-Car
Mercedes Benz

Tipps für Profis

  • Dynamische Bereiche: Überlege, den Zellbereich dynamisch zu gestalten, um die Anzahl der Zeilen automatisch zu erfassen.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in Dein Makro ein, um ungültige Eingaben abzufangen.
  • Zufallsbereich: Wenn Du einen Zufallsbereich für die Anzahl der Zeilen pro Spalte möchtest, kannst Du Randomize und Int((Max - Min + 1) * Rnd + Min) verwenden.

FAQ: Häufige Fragen

1. Wie teile ich eine lange Spalte in Excel in mehrere Spalten auf? Du kannst ein VBA-Makro verwenden, um die Daten in Spalte A auf die Spalten B, C, D usw. aufzuteilen. Siehe die Schritt-für-Schritt-Anleitung.

2. Was ist, wenn ich keine Programmierkenntnisse habe? Du kannst die Funktion „Text in Spalten“ verwenden, um die Daten ohne VBA aufzuteilen. Diese Methode ist benutzerfreundlich und erfordert keine Kenntnisse in Programmierung.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige