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

Forumthread: Zelleninhalte per VBA splitten (Kommatas)?

Zelleninhalte per VBA splitten (Kommatas)?
05.06.2007 17:35:00
Selma
Hallo Leute,
ich habe mir ein Makro aufgezeichnet das diverses macht.
Leider weiss ich nicht wie ich folgendes lösen, um das Makro zu erweitern:
Wenn die Zelleninhalte in Spalte Q ein Komma beinhalten, dann soll der Inhalt der Zellen (nach der Komma) immer eine Spalte weiter eingetragen werden. Die Kommatas sollen dann in allen Zellen der Spalte Q gelöscht werden.
Beispiel 1:
~~~~~~~
Q20 = Grundriss_B14_GR_02_BE.dwg,Grundriss 14.10.2003-Layout1.plt,Berechnung.doc
Hinterher soll es so sein:
R20= Grundriss_B14_GR_02_BE.dwg
S20 = Grundriss 14.10.2003-Layout1.plt
T20= Berechnung.doc
Zelleninhalte sind geteilt und ohne Komma dahinter.
Beispiel 2:
~~~~~~~
Q40 = Grundriss_B14_GR_02_BE.dwg,Grundriss 14.10.2003-Layout1.plt
Hinterher soll es so sein:
R40= Grundriss_B14_GR_02_BE.dwg
S40 = Grundriss 14.10.2003-Layout1.plt
Zelleninhalte sind geteilt und ohne Komma dahinter.
Vielen herzlichen Dank im Voraus für Euere Hilfe...
Liebe Grüße
Selma

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalte per VBA splitten (Kommatas)?
05.06.2007 17:55:00
Matthias
Hallo Selma,
das geht ohne VBA
Kopiere von Q40 nach R40 und dann ...
R40 markieren - Daten Text in Spalten - Getrennt durch Komma - Fertigstellen
oder Du lässt es so markierst Q40 und dann
Daten Text in Spalten - Getrennt durch Komma - Fertigstellen
und hast dannach die erste Spalte in Q40 statt in R40.
Userbild
Gruß Matthias

Anzeige
AW: Zelleninhalte per VBA splitten (Kommatas)?
05.06.2007 18:20:25
Selma
Hallo Matthias,
über Daten - Text in Spalten geht es auch. Aber die Lösung von Ingo kann ich besser in vorhandenes Makro einfach erweitern.
Trotzdem vielen Dank auch für deine Hilfe....
LG
Selma

AW: Zelleninhalte per VBA splitten (Kommatas)?
05.06.2007 18:07:53
IngGi
Hallo Selma,
das geht zum Beispiel so (Zellbereich noch anpassen):

Sub teilen()
Dim rng As Range
Dim i As Integer
Dim Kommas As Integer
For Each rng In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
For i = 1 To Len(rng)
If Mid(rng, i, 1) = "," Then Kommas = Kommas + 1
Next 'i
Range(rng, rng.Offset(0, Kommas)) = Split(rng, ",")
Kommas = 0
Next 'rng
End Sub

Gruß Ingolf

Anzeige
AW: Zelleninhalte per VBA splitten (Kommatas)?
05.06.2007 18:17:11
Selma
Vielen vielen Dank Ingo....... es funktioniert prima.....
LG
Selma
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalte in Excel per VBA splitten


Schritt-für-Schritt-Anleitung

Um die Zelleninhalte in Excel nach jedem Komma in neue Spalten zu splitten, kannst Du ein einfaches VBA-Makro verwenden. Hier sind die Schritte:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub teilen()
        Dim rng As Range
        Dim i As Integer
        Dim Kommas As Integer
        For Each rng In Range("Q1:Q" & Cells(Rows.Count, 17).End(xlUp).Row)
            For i = 1 To Len(rng)
                If Mid(rng, i, 1) = "," Then Kommas = Kommas + 1
            Next i
            Range(rng, rng.Offset(0, Kommas)) = Split(rng, ",")
            rng.Value = Replace(rng.Value, ",", "")
            Kommas = 0
        Next rng
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Wähle das Arbeitsblatt aus, in dem Du die Zelleninhalte splitten möchtest.

  6. Drücke ALT + F8, wähle das Makro teilen aus und klicke auf Ausführen.

Jetzt werden die Zelleninhalte in Spalte Q nach jedem Komma in neue Spalten aufgeteilt und die Kommas entfernt.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass Du das richtige Arbeitsblatt ausgewählt hast und dass die Daten sich in Spalte Q befinden.
  • Fehler: Die Werte werden nicht korrekt aufgeteilt.

    • Lösung: Überprüfe den Zellbereich im VBA-Code und passe ihn gegebenenfalls an. Stelle sicher, dass die Daten keine unerwarteten Leerzeichen oder andere Trennzeichen enthalten.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die Funktion "Text in Spalten" nutzen:

  1. Markiere die Zellen in Spalte Q, die Du aufteilen möchtest.
  2. Gehe zu Daten -> Text in Spalten.
  3. Wähle Getrennt und klicke auf Weiter.
  4. Aktiviere das Kästchen für Komma und klicke auf Fertigstellen.

Diese Methode trennt die Inhalte in neue Spalten, ohne VBA zu verwenden.


Praktische Beispiele

Angenommen, Du hast folgende Werte in Zelle Q20:

Q20 = Grundriss_B14_GR_02_BE.dwg,Grundriss 14.10.2003-Layout1.plt,Berechnung.doc

Nach dem Ausführen des Makros wird es so aussehen:

R20 = Grundriss_B14_GR_02_BE.dwg
S20 = Grundriss 14.10.2003-Layout1.plt
T20 = Berechnung.doc

Die Zelleninhalte sind nun in separate Spalten aufgeteilt und die Kommas wurden entfernt.


Tipps für Profis

  • Wenn Du oft mit ähnlichen Daten arbeitest, speichere das Makro in Deiner Arbeitsmappe, damit Du es schnell wieder verwenden kannst.
  • Experimentiere mit anderen Trennzeichen, indem Du den VBA-Code anpasst. Du kannst auch mehrere Trennzeichen gleichzeitig verwenden.
  • Nutze die Funktion Trim, um überflüssige Leerzeichen zu entfernen, bevor Du die Zelleninhalte aufteilst.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Spalten verwenden?
Ja, passe einfach den Zellbereich im VBA-Code an, um andere Spalten zu bearbeiten.

2. Was passiert, wenn der Zellinhalt kein Komma enthält?
In diesem Fall bleibt der Inhalt in der Originalzelle, und es werden keine neuen Spalten erstellt.

3. Wie kann ich die Kommas in den Zellen beibehalten?
Wenn Du die Kommas nicht entfernen möchtest, kannst Du die Zeile rng.Value = Replace(rng.Value, ",", "") aus dem VBA-Code löschen.

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