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

Forumthread: Text in Zeilen

Text in Zeilen
10.09.2003 11:17:22
Peter S
Hallo zusammen,
ich suche nach einer excel Funktion "Text in Zeilen". Diese sollte wie "Text in Spalten" funktionieren, die Werte jedoch auf Zeilen verteilen.

Dies hätte den Vorteil, dass ich nicht auf 256 spalten limitiert wäre.

Vielen Dank!
Peter
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Text in Zeilen - das geht nur mit Formel oder UDF
10.09.2003 11:24:10
Boris
Hi Peter,

wie sehen deine Einträge denn aus? Gib doch mal beispielhaft was zum Besten. Dann lässt sich das sicherlich mit einer Formel lösen.
Oder du machst es "häppchenweise" mit Daten-Text in Spalten und transponierst die Daten anschließend.

Grüße Boris
AW: Text in Zeilen - das geht nur mit Formel oder UDF
10.09.2003 12:08:40
Peter S
wenn UDF für "user defined function" steht, dann ist das genau was ich brauche.

aufteilen und transponieren ist zu umständlich und würde zu lange dauern.
Anzeige
Ja - so ist es, aber...
10.09.2003 12:10:19
Boris
Hi Peter,

...gib doch einfach mal ein Beispiel - auch für ne UDF sollten die Paramter bekannt sein - für ne Formel erst recht.

Grüße Boris
Text in Zeilen aufteilen - Formellösung
10.09.2003 12:55:40
Boris
Hi Peter,

in A2:
=LINKS(A1;FINDEN(",";A1))

In A3:
=TEIL($A$1;SUMMENPRODUKT(LÄNGE(A$2:A2))+1;FINDEN(",";$A$1&",";SUMMENPRODUKT(LÄNGE(A$2:A2))+1)-SUMMENPRODUKT(LÄNGE(A$2:A2)))
und runterkopieren bis (in diesem Fall) A914.

In B2:
=GLÄTTEN(WECHSELN(A2;",";))
und runterkopieren bis B914.

Anschließend kannst du die Spalte B kopieren und in Spalte A mit "Inhalte-nur Werte" wieder einfügen.

Grüße Boris
Anzeige
Vielen Dank für die Mühe, aber
10.09.2003 13:13:47
Peter S
Danke Boris,

die Formel die Du gebaut hast ist sehr gut und funktioniert auch,...

aber leider wird das ganze auf diese Weise zu aufwendig. Ich muss diese Operation für sehr viele Zellen machen. Ausserdem ist die Trennung über Komma nicht 100%, manchmal ist nur ein Space oder ein Semikolon. Deswegen suchte ich etwas ähnliches wie Text in Spalten (dort kann mit verschiedenen Zeichen gleichzeitig trennen).

Sollte mit VBA kein Problem sein. Kann selber leider nicht viel mehr als Makrorekorder.

Cheers,
Peter
Anzeige
Dann eine VBA-Lösung:
10.09.2003 13:49:43
Boris
Hi Peter,

Option Explicit


Sub Inzeilen()
Dim C As Range
Dim Bereich As Range
Dim Ws2 As Worksheet
Dim Awf As WorksheetFunction
Dim X As Long, Y As Long, A As Long, B As Long
Set Bereich = Selection
Set Ws2 = Worksheets("Tabelle2")
Set Awf = Application.WorksheetFunction
X = 1: A = 1: B = 1
For Each C In Bereich
For Y = 1 To Len(C & " ")
Select Case Mid(C & " ", Y, 1)
Case ",", ";", ":", " "
Ws2.Cells(A, B) = Awf.Substitute(Awf.Substitute(Awf.Substitute(Awf.Substitute(Mid(C, X, Y - X), ",", ""), ";", ""), ":", ""), " ", "")
X = Y: A = A + 1
End Select
Next Y
B = B + 1: A = 1: X = 1
Next C
End Sub


Markiere alle Deine Zellen mit den monsterlangen Einträgen und starte dann das Makro. Die Einträge werden in "Tabelle2" untereinander gelistet - "Tabelle2" musst du an deine Tabellenbezeichnung natürlich anpassen.
Getrennt wird nach Komma, Semikolon, Doppelpunkt und Leerzeichen.

Grüße Boris
Anzeige
Super!!!! Kein aber!!!
10.09.2003 14:01:30
Peter S
Danke, das ist genau was ich brauche!

Vielen Vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Text in Zeilen umwandeln in Excel


Schritt-für-Schritt-Anleitung

Um Text in Zeilen umzuwandeln und die Werte auf Zeilen zu verteilen, kannst du die folgende Methode anwenden. Diese Anleitung setzt die Nutzung von Excel mit VBA voraus.

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder verwende ein bestehendes.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf „VBAProject (deineDatei.xlsx)“ > „Einfügen“ > „Modul“.
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub Inzeilen()
       Dim C As Range
       Dim Bereich As Range
       Dim Ws2 As Worksheet
       Dim Awf As WorksheetFunction
       Dim X As Long, Y As Long, A As Long, B As Long
       Set Bereich = Selection
       Set Ws2 = Worksheets("Tabelle2") ' Ändere den Namen entsprechend
       Set Awf = Application.WorksheetFunction
       X = 1: A = 1: B = 1
       For Each C In Bereich
           For Y = 1 To Len(C & " ")
               Select Case Mid(C & " ", Y, 1)
                   Case ",", ";", ":", " "
                       Ws2.Cells(A, B) = Awf.Substitute(Awf.Substitute(Awf.Substitute(Awf.Substitute(Mid(C, X, Y - X), ",", ""), ";", ""), ":", ""), " ", "")
                       X = Y: A = A + 1
               End Select
           Next Y
           B = B + 1: A = 1: X = 1
       Next C
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Markiere die Zellen, die du in Zeilen umwandeln möchtest.

  7. Starte das Makro über „Entwicklertools“ > „Makros“ > „Inzeilen“.

  8. Die Ergebnisse werden in "Tabelle2" angezeigt. Achte darauf, den Tabellennamen im Code entsprechend anzupassen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro läuft nicht.

    • Lösung: Stelle sicher, dass du die Makros in den Excel-Optionen aktiviert hast.
  • Fehler: Die Daten erscheinen nicht korrekt.

    • Lösung: Überprüfe, ob der Tabellennamen im VBA-Code mit dem tatsächlichen Namen in deinem Arbeitsblatt übereinstimmt.
  • Fehler: Excel zeigt eine Fehlermeldung bei der Ausführung.

    • Lösung: Achte darauf, dass die Auswahl korrekt ist und keine leeren Zellen enthält.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch die Text in Spalten-Funktion nutzen und anschließend die Daten transponieren:

  1. Markiere die Zellen mit dem Text.
  2. Gehe zu Daten > Text in Spalten.
  3. Wähle die Trennzeichen (z.B. Komma, Semikolon) und klicke auf Fertig stellen.
  4. Markiere die resultierenden Spalten und kopiere sie.
  5. Gehe zu einem neuen Bereich und wähle Inhalte einfügen > Transponieren.

Praktische Beispiele

Angenommen, du hast in Zelle A1 den Text „Apfel, Birne; Banane: Orange“. Nach der Ausführung des VBA-Codes oder der Text-in-Spalten-Funktion wird jeder Obstname in einer eigenen Zeile erscheinen.

Wenn du verschiedene Trennzeichen hast, wie z.B. Komma, Semikolon oder Leerzeichen, wird der VBA-Code automatisch alle diese Trennzeichen berücksichtigen und die Werte in Zeilen aufteilen.


Tipps für Profis

  • Wenn du regelmäßig mit großen Datenmengen arbeitest, erstelle eine Schaltfläche in deinem Arbeitsblatt, um das Makro einfacher auszuführen.
  • Nutze den Blocksatz in Excel, um deinen Text ansprechend zu formatieren, wenn du die Daten umwandelst und präsentierst.
  • Experimentiere mit verschiedenen Trennzeichen im VBA-Code, um die Flexibilität zu erhöhen.

FAQ: Häufige Fragen

1. Frage: Kann ich das Makro auch ohne VBA verwenden?
Antwort: Ja, du kannst die „Text in Spalten“-Funktion verwenden, aber du musst die Daten manuell transponieren.

2. Frage: Was, wenn ich unterschiedliche Trennzeichen habe?
Antwort: Der bereitgestellte VBA-Code berücksichtigt verschiedene Trennzeichen wie Komma, Semikolon, Doppelpunkt und Leerzeichen.

3. Frage: Funktioniert das auch in älteren Excel-Versionen?
Antwort: Ja, die VBA-Lösung sollte in den meisten Excel-Versionen funktionieren, allerdings kann die Benutzeroberfläche variieren.

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