Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text aus Spalte in Spalten nach Zeichen teilen

Text aus Spalte in Spalten nach Zeichen teilen
09.02.2019 09:39:13
Michel
Schönen guten Morgen zusammen,
ich habe hier schon viele sehr nützliche Hilfen durch euch auf der Plattform erhalten und möchte mich an dieser Stelle erst einmal dafür bedanken.
Nun zu meinem Anliegen:
Ich habe in Spalte "B" von der Zeile 5 bis zur Zeile 39204 eine Formel zum Bezug auf viele andere Dateien. In den Zellen der Spalte "B" werden, wenn in dem jeweiligem Dokument Daten erfasst werden, Zahlen und Worte angezeigt, die sich dann immer automatisch in die 4 Nachbarspalten aufteilen sollen. Die zu teilenden Zahlen und Wörter sind verschieden lang, aber immer durch ein " % " - Zeichen voneinander getrennt.
Ich habe in diesem Forum eine eigentlich super Lösung gefunden, aber irgendwie führt das Makro die Aktion nur in der ersten Zeile (Zeile 5) durch. die darauffolgenden Zeilen bearbeitet das Makro einfach nicht mehr.
Weg zum Beitrag:
https://www.herber.de/forum/archiv/180to184/183226_Zellinhalte_aufteilen_per_VBA.html
Ich weiß auch nicht, ob es eine schnellere Lösung für mein Problem gibt, da es mit 40000 Zeilen schon sehr viele Daten sind und die Daten sich permanent automatisch aktualisieren müssen.
Wenn ich noch ein paar weitere Details nennen kann, um einen Lösungsweg zu ermöglichen, bitte ich um kurze Rückinfo.
Ich verwende Excel 2016.
Ansonsten bedanke ich mich schonmal für eure Bemühungen.
Michel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Text aus Spalte in Spalten nach Zeichen teilen
09.02.2019 09:55:49
Zwenn
Hallo Michel,
Du hast Dir einen Forenbeitrag von 2002 zur Lösung Deines Problems rausgesucht. Der Code daraus funktioniert zwar noch, aber dieses Problem hatten offenbar so viele Excel-Anwender, dass Microsoft da ein eigenes Feature für eingebaut hat. Schau Dir mal die Beschreibung hinter folgendem Link an:
Text in Spalten
http://support.office.com/de-de/article/aufteilen-von-text-in-verschiedene-spalten-mit-dem-textkonvertierungs-assistenten-30b14928-5550-41f5-97ca-7a3e9c363ed7
Viele Grüße,
Zwenn
Anzeige
AW: Text aus Spalte in Spalten nach Zeichen teilen
09.02.2019 11:46:22
Günther
Moin,
wobei du darauf hoffen musst, dass in den ersten 4 Zeilen kein %-Zeichen ist; dieses würde die Zelle dann natürlich auch splitten. Und wenn du das regelmäßig machen musst, dann bietet sich Power Query an.
Gruß
Günther
AW: Text aus Spalte in Spalten nach Zeichen teilen
11.02.2019 05:25:48
Michel
Hallo Zwenn,
hallo Günther,
die Excel eigene Funktion, Daten aus einer Zelle in die rechts danebenliegenden Zellen aufzuteilen kenne ich, nur bringt mir diese nicht viel.
1. Grund: Die zu teilende Zelle ist eine Verknüpfungszelle, die Daten aus einer andern Exceldatei holt und anzeigt. Die Excel eigene Funktion erkennt hierbei nich den angezeigten Text, sondern die Formel, die ich zum Einholen der Daten in der Zelle hinterlegt habe.
2. Grund: Die Excel eigene Funktion müsste ich nach jeder Eingabe in den mit dieser Zelle verknüpften Datei manuell neu ausführen. Bei bearbeiten von bis zu 300 - 350 Dateien , deren Daten sich in der Sammeldatei (Gesamtanzahl ca. 40000 Zeilen) einfügen, ist das manuelle Ausführen der Zellenteilung ein mehr als unwirtschaftlicher Weg...
Ich bin kein Experte in Sachen VBA, denke aber das es in diesem Fall am sinnvollsten ist, eins anzuwenden, welches einmal die Aktion "Teilen der Spalteninhalte" bei jedem "%"-Zechen ausführt und diese Aktion dann auch automatisch alle 3 Sekunden ausführt. Das Zeichen "%" kommt nur in diesen Zellen vor und nirgendwo anders in dieser Datei. Daher habe ich auch dieses Zeichen zur Trennung ausgewählt. Aber Danke für den Hinweis ;)
Die Lösung im Forenbeitrag, den ich in meiner ersten Fragestellung hinterlegt habe passt super, wird bei mir aber nur in der ersten (Zeile 5) Zeile ausgeführt und führt dann keine mehr aus.
Komme nicht dahinter, was ich machen muss, damit der alle Zellen der Spalte "B" automatisch teilt und weiß auch nicht, ab diese Varriante noch Zeitgemäß ist bezüglich der Geschwindigkeit bei regeläßigen Wiederholungen.
Für die bisherigen Antworten danke ich mich bei euch,
viele Grüße
Michel
Anzeige
AW: VBA
12.02.2019 17:55:28
Fennek
Hallo,
versuche

sub Test()
for i = 1 to cells(rows.count,2).end(xlup).row
Tx = split(cells(i,2), "%")
cells(i,3).resize(,ubound(Tx)+1) = Tx
next i
end sub
Diese Variante ist recht langsam, aber wenn die Logik passt, kann man es um einen Faktor ca 100 beschleunigen.
mfg
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
Anzeige

Infobox / Tutorial

Text aus Spalte in Spalten nach Zeichen teilen


Schritt-für-Schritt-Anleitung

Um den Text in Spalten zu trennen, kannst Du die folgende VBA-Lösung verwenden. Diese Methode ist besonders nützlich, wenn Du große Datenmengen in Excel hast, die regelmäßig aktualisiert werden müssen.

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

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

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

    Sub TeileText()
        Dim i As Long
        Dim Tx As Variant
        For i = 5 To Cells(Rows.Count, 2).End(xlUp).Row
            Tx = Split(Cells(i, 2).Value, "%")
            Cells(i, 3).Resize(, UBound(Tx) + 1).Value = Tx
        Next i
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro TeileText auswählst und auf Ausführen klickst.

Dieser Code teilt die Inhalte der Zellen in Spalte B nach dem Zeichen "%" und verteilt die Teile in die benachbarten Spalten.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nur für die erste Zeile.

    • Lösung: Stelle sicher, dass der Startwert der Schleife korrekt ist (in diesem Fall von Zeile 5 bis zur letzten Zeile in Spalte B).
  • Problem: Excel zeigt einen Fehler beim Ausführen des Makros.

    • Lösung: Überprüfe, ob der Text in Spalte B tatsächlich das "%" Zeichen enthält. Wenn nicht, wird der Split-Vorgang nicht funktionieren.

Alternative Methoden

Wenn Du keine VBA-Lösung nutzen möchtest, kannst Du auch die integrierte Funktion "Text in Spalten" verwenden:

  1. Markiere die Zellen in Spalte B, die Du teilen möchtest.
  2. Gehe zu Daten in der Menüleiste und wähle Text in Spalten.
  3. Wähle Getrennt und klicke auf Weiter.
  4. Setze ein Häkchen bei Andere und gib das Zeichen "%" ein.
  5. Klicke auf Fertig stellen.

Diese Methode ist jedoch manuell und muss jedes Mal wiederholt werden, wenn die Daten aktualisiert werden.


Praktische Beispiele

Angenommen, Du hast in Zelle B5 den Text "100%Apfel%200%Orange". Nach dem Ausführen des VBA-Codes wird:

  • Zelle C5: 100
  • Zelle D5: Apfel
  • Zelle E5: 200
  • Zelle F5: Orange

Das Makro teilt den Text in Spalten basierend auf dem "%" Zeichen.


Tipps für Profis

  • Du kannst die Ausführung des Makros automatisieren, indem Du es in ein Worksheet-Event einfügst, das bei jeder Änderung in Spalte B ausgeführt wird.
  • Überlege, ob Du die Excel-Funktion "Text in Spalten" deaktivieren möchtest, wenn Du häufig mit VBA arbeitest, um Konflikte zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Aktion "Text in Spalten" rückgängig machen?
Du kannst die Rückgängig-Funktion in Excel verwenden, um die letzten Änderungen rückgängig zu machen.

2. Ist es möglich, den Text in Spalten umzukehren?
Ja, Du kannst die Reihenfolge der Spalten nach dem Teilen mit einer weiteren VBA-Funktion umkehren.

3. Funktioniert das auch in Excel 365?
Ja, der VBA-Code und die Funktionen sind sowohl in Excel 2016 als auch in Excel 365 anwendbar.

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