Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten in Text

Spalten in Text
01.07.2016 12:33:15
Christian
Hallo,
ich würde euch gerne um Hilfe bitten,
die Verketten Formel sagt mir natürlich was, aber der Fall ist wohl leider ein wenig komplizierter.
Ich suche eine Formel, die im Prinzip wie es die VERKETTEN Formel macht die Texte der einzelnen Zellen aneinanderreiht, genau genommen von M1 bis AP1
Allerdings gibt es eine Formel, in der
1. ich nicht jede einzelne Zelle angeben muss
2. Leerzellen außen vor lässt
3. die Texte durch ein Semikolon voneinander trennt
Ist sowas machbar?
Zu den Leerzellen, ich will die Formel über die ganze Tabelle kopieren, in nur einer einzelnen Zeile stehen so viele Texte, dass es bis zur Spalte AP reicht, in den anderen hört es bereits vorher auf.
Leerzellen zwischendrin gibt es keine.
Danke
Christian

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beispieltabelle
01.07.2016 12:51:50
WalterK
Hallo Christian,
hier ein Beispiel mit VBA.
https://www.herber.de/bbs/user/106676.xlsm
Servus, Walter

Anzeige
AW: Beispieltabelle
01.07.2016 12:55:31
Christian
Hallo Walter,
dankeschön.
Habe nur mal noch eine allgemeine Frage, warum in ein Modul und nicht in das Tabellenblatt?
Was macht da den Unterschied?
Gruß
Christian

AW: Beispieltabelle
01.07.2016 12:56:43
ChrisL
ähmmm ja, grad gesehen, passt nicht ganz... würde dann doch VBA nehmen ;)

AW: Beispieltabelle
01.07.2016 12:57:47
Christian
Hallo Chris,
das funktioniert sicherlich auch,
jedoch muss ich da immer noch die Zellen einzeln angeben, das werden irgendwann wenn ich noch weiter mit der Tabelle arbeite noch viel mehr werden als AP.
Trotzdem danke
Christian

Anzeige
kleine UDF
01.07.2016 12:56:33
Rudi
Hallo,
in ein Modul:
Function Verketten2(rng As Range, sDelim As String)
Dim c As Range, objVerketten As Object
Set objVerketten = CreateObject("scripting.dictionary")
For Each c In rng.Cells
If Len(c) Then
objVerketten(c) = c
End If
Next
Verketten2 = Join(objVerketten.items, sDelim)
End Function

D1: =verketten2(M1:AP1;";")
Gruß
Rudi

Anzeige
AW: kleine UDF
01.07.2016 13:00:26
Christian
Hallo Rudi,
denke ja mal das ist vom Prinzip her dasselbe wie Walters Vorschlag,
funktioniert beides.
Gruß
Christian

Dafür könnte dir bei deiner Xl-Version ...
01.07.2016 13:18:38
Luc:-?
…die neue xl-(Abonnements-)Fkt TEXTVERKETTEN zV stehen, Christian,
ansonsten gibt's dafür schon jede Menge UDFs, von einfachen Umsetzungen der vbFkt Join über etwas anspruchsvollere wie Rudis (unter Verketten2 findet man bei RECHERCHE ganz unterschiedliche UDFs!) bis hin zu universell-komplexen wie zB VJoin (LetztPublikation Version1.4), die auch Ausdrücke als HptArgument (nicht nur ZellBereiche wie Rudis → besser bei Argument1 As Range weglassen!) akzeptiert.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Dafür könnte dir bei deiner Xl-Version ...
01.07.2016 13:25:36
Christian
Hallo Luc,
danke, nur erstens, habe ich mein Office ganz normal im handel gekauft, nichts abonniert, nichts über Office365 im Internet oder so,
Jedenfalls bei =TEXTVERKETTEN sagt mir Excel nur #NAME?
Und mit solchen UDF's wie du nennst hab ich mich nicht beschäftigt, bin beim schreiben dieses Posts von einer normalen Formellösung ausgegangen, ohne VBA.
Gruß
Cristian

Anzeige
Eine 'normale' (also nur Xl-Fktt) FmlLösung ...
01.07.2016 14:03:13
Luc:-?
…ist wohl nur mit TEXTVERKETTEN (mal auf MS-Seiten gugeln!) möglich, Christian,
ansonsten wirst du eine VBA-basierte UDF (FormelLösung!) oder eine ebensolche Subroutine (Makro!) benötigen. Alles sonstwie „Normale“ wäre sehr viel aufwendiger, wie du ja bereits bemerkt hast!
Luc :-?

Anzeige
AW: Eine 'normale' (also nur Xl-Fktt) FmlLösung ...
01.07.2016 16:46:10
Christian
Hallo Luc,
also wie gesagt ich hab mir in der Excedl Hilfe die Formel angeschaut.
TEXTJOIN-Funktion
In diesem Artikel wird die Formelsyntax und Verwendung von TEXTJOIN beschrieben, einer der Textfunktionen in Microsoft Excel.
Wichtig : Diese Funktion steht nur in folgenden Fällen zur Verfügung:
Sie sind Office 365-Abonnent und haben auf Ihrem PC die neueste Office-Version installiert.
Sie verwenden Excel Online.
Sie verwenden Excel Mobile.
Sie verwenden Excel für Android-Smartphones und -Tablets.
Hab ich alles nicht.
Gruß
Christian

Anzeige
das hat jetzt Christian sicher Verstanden :-) owT
01.07.2016 13:26:56
Bernd

AW: Spalten in Text
01.07.2016 14:19:22
Daniel
HI
ohne VBA und neumodische Funktionen könnte man das so lösen:
1. lege ein zusätzliches Tabellenblatt an (Tabelle2)
2. in die Zelle M1 der Tabelle2 kommt folgende Formel:
=WENN(Tabelle1!M1"";Tabelle1!M1&";"&N1;N1&"")

diese Formel ziehst du bis Spalte AP und soweit nach unten wie in Tabelle1 Daten stehen.
3. in die Zelle D1 der Tabelle1 kommt diese Formel:
=LINKS(Tabelle2!M1;LÄNGE(Tabelle2!M1)-1)

bzw wenn du dich am letzten Semikolon nicht störst einfach
=Tabelle2!M1

die Formel von D1 dann soweit nach unten ziehen wie benötigt.
das sind zwar viele Formeln, ist aber schnell und einfach erstellt und dürfte sich auch mit dem Rechenaufwand in grenzen halten.
https://www.herber.de/bbs/user/106683.xlsx
Gruß Daniel

Anzeige
AW: Spalten in Text
01.07.2016 16:48:10
Christian
Hallo Daniel,
auch danke für deine Mühe, aber werde der Einfachheit da ich das jetzt alles schon in die Mappe integriert habe eins der Makros benutzen.
Christian
;

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

Spalten in Text umwandeln in Excel


Schritt-für-Schritt-Anleitung

Um Texte aus mehreren Spalten in Excel zu einer einzigen Zelle zusammenzuführen, kannst Du verschiedene Methoden nutzen. Hier eine einfache Anleitung, die sowohl mit Formeln als auch mit VBA funktioniert:

  1. Verwendung der TEXTJOIN-Funktion (Office 365):

    • Falls Du Office 365 oder Excel Online verwendest, kannst Du die TEXTJOIN-Funktion verwenden. Diese Funktion erlaubt es, mehrere Zellinhalte zu verketten und dabei Leerzellen zu ignorieren.
      =TEXTJOIN(";", WAHR, M1:AP1)
  2. VBA-Methode:

    • Wenn Du VBA verwenden möchtest, kannst Du eine benutzerdefinierte Funktion (UDF) erstellen. Füge den folgenden Code in ein Modul ein:
      Function Verketten2(rng As Range, sDelim As String)
      Dim c As Range, objVerketten As Object
      Set objVerketten = CreateObject("scripting.dictionary")
      For Each c In rng.Cells
         If Len(c) Then
             objVerketten(c) = c
         End If
      Next
      Verketten2 = Join(objVerketten.items, sDelim)
      End Function
    • Verwende dann in Excel:
      =Verketten2(M1:AP1, ";")
  3. Formellösung ohne VBA:

    • Du kannst auch ohne VBA arbeiten, indem Du eine Hilfstabelle anlegst und die Inhalte manuell zusammenfügst. In einer neuen Tabelle (z.B. Tabelle2) kannst Du folgende Formel in Zelle M1 verwenden:
      =WENN(Tabelle1!M1<>"", Tabelle1!M1 & ";" & N1, N1)
    • Ziehe diese Formel bis zur Spalte AP und in die benötigte Zeile. In der Originaltabelle kannst Du dann in Zelle D1 die folgende Formel verwenden:
      =LINKS(Tabelle2!M1; LÄNGE(Tabelle2!M1)-1)

Häufige Fehler und Lösungen

  • Fehler: #NAME? bei TEXTJOIN:

    • Stelle sicher, dass Du die richtige Excel-Version hast. Diese Funktion steht nur in Office 365 zur Verfügung.
  • Problem mit Leerzellen:

    • Achte darauf, dass Du die TEXTJOIN-Funktion korrekt einsetzt oder eine UDF verwendest, um Leerzellen zu ignorieren.
  • VBA funktioniert nicht:

    • Vergewissere Dich, dass Du den Code korrekt in ein Modul eingefügt hast und dass Makros in Deiner Excel-Instanz aktiviert sind.

Alternative Methoden

  • Verketten-Funktion:

    • Eine ältere Möglichkeit ist die Verwendung der VERKETTEN-Funktion, jedoch musst Du hier jede Zelle manuell angeben.
  • Power Query:

    • Eine weitere Möglichkeit in neueren Excel-Versionen ist die Verwendung von Power Query, um Daten aus mehreren Spalten zusammenzuführen.

Praktische Beispiele

  1. Beispiel für TEXTJOIN:

    • Angenommen, Du hast in den Zellen M1 bis AP1 verschiedene Texte und möchtest diese durch Semikolons getrennt in einer Zelle anzeigen lassen.
      =TEXTJOIN(";", WAHR, M1:AP1)
  2. Beispiel für die VBA-Funktion:

    • In einer Tabelle hast Du Daten in den Zellen M1 bis AP1. Du kannst die benutzerdefinierte Funktion Verketten2 verwenden, um diese Daten in D1 zusammenzufassen.
      =Verketten2(M1:AP1, ";")

Tipps für Profis

  • Nutze die TEXTJOIN-Funktion, wenn Du eine moderne Excel-Version verwendest, da sie die Handhabung von Leerzellen erleichtert.
  • Bei der Arbeit mit großen Datenmengen kann VBA schnellere Ergebnisse liefern.
  • Vermeide die Verwendung von zu vielen verschachtelten Formeln, um die Lesbarkeit und Wartbarkeit Deiner Arbeitsmappe zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich die TEXTJOIN-Funktion in älteren Excel-Versionen verwenden?
Nein, die TEXTJOIN-Funktion ist nur in Excel 365 und neueren Versionen verfügbar.

2. Wie kann ich Texte aus mehreren Spalten in Excel ohne VBA zusammenführen?
Du kannst eine Kombination aus WENN- und VERKETTEN-Funktionen nutzen, um die Daten in einer Hilfstabelle zusammenzuführen.

3. Was ist der Vorteil von VBA gegenüber Formeln?
VBA kann komplexere Aufgaben automatisieren und benötigt keine ständige Eingabe von Formeln, was die Effizienz bei großen Datenmengen erhöht.

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