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

Forumthread: Liste mit Komma getrennt

Liste mit Komma getrennt
18.12.2012 19:07:36
Tom
Hallo zusammen,
ich habe in Spalte B1:B300 eine Liste, die ich nun alle in Zelle D1 durch Komma und Leerzeichen getrennt haben möchte.
B1:B300:
Müller
Huber
Maier
Kaiser
Meyer
.
.
.
D1: Müller, Huber, Maier, Kaiser, Meyer
Wer hat ne Lösung?
Danke
TOM

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste mit Komma getrennt
18.12.2012 19:19:11
Tom
Hallo Hajo,
vielen Dank für Deinen Lösungsansatz. Ich hatte es mit Verketten schon versucht, bin aber hier immer auf die manuelle Eingabe angewiesen. Und bei über 300 Zeilen ist das etwas mühsam :-)
Dachte evtl an eine VBA-Lösung, die das flexibel, also unabhängig von der Zeilenanzahl, löst.
Trotzdem danke!
Gruß
TOM

Anzeige
Liste durch Komma trennen - mit VBA
18.12.2012 20:00:29
Matthias
Hallo Tom
Option Explicit
Sub Tom()
Dim Trenner$, Rng As Range, MyString$
Trenner = ","
Range("D1").ClearContents
For Each Rng In Range("A1:A300") 'Ende anpassen oder auslesen
If Rng.Value  "" Then MyString = MyString & Rng.Value & Trenner
Next
Range("D1").Value = Left(Trim(MyString), Len(Trim(MyString)) - 1)
End Sub
https://www.herber.de/bbs/user/83066.xls
Gruß Matthias

Anzeige
AW: Liste durch Komma trennen - mit VBA
18.12.2012 20:07:27
Tom
Hi Matthias,
genial! Das Leerzeichen nach dem Komma hab ich selbst hinbekommen :-)
Danke und nen schönen Abend!
Gruß
TOM

wie hast Dus denn gemacht ...
18.12.2012 20:11:45
Matthias
Hallo Tom
Ich hätte es dann gleich so gemacht.
Trenner = ", "

Aber das stand in der Ausgangsfrage nicht zur zur Debatte ;-)
Gruß Matthias

Anzeige
AW: wie hast Dus denn gemacht ...
18.12.2012 20:43:28
Tom
Genau so habe ich es auch gemacht.
"ich habe in Spalte B1:B300 eine Liste, die ich nun alle in Zelle D1 durch Komma und Leerzeichen getrennt haben möchte."
Schönen Abend :-)

stand ja doch dabei ... und Leerzeichen
18.12.2012 20:45:29
Matthias
Hallo Tom
ich habe in Spalte B1:B300 eine Liste, die ich nun alle in Zelle D1 durch Komma und Leerzeichen getrennt haben möchte.
Hatte ich ja glatt überlesen, sorry.
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Liste in Excel kommagetrennt umwandeln


Schritt-für-Schritt-Anleitung

Um eine Liste in Excel kommagetrennt in einer Zelle darzustellen, kannst du folgende Schritte durchführen:

  1. Datenvorbereitung: Stelle sicher, dass deine Liste in den Zellen B1 bis B300 steht.

  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul hinzufügen:

    • Klicke auf Einfügen > Modul.
  4. VBA-Code einfügen: Kopiere den folgenden Code in das Modul:

    Option Explicit
    Sub KommaTrennen()
       Dim Trenner$, Rng As Range, MyString$
       Trenner = ", "
       Range("D1").ClearContents
    
       For Each Rng In Range("B1:B300") ' Bereich anpassen
           If Rng.Value <> "" Then MyString = MyString & Rng.Value & Trenner
       Next
    
       Range("D1").Value = Left(Trim(MyString), Len(Trim(MyString)) - 2) ' Letztes Komma entfernen
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro KommaTrennen aus, indem du ALT + F8 drückst und das Makro auswählst.

  6. Ergebnis überprüfen: Die kommagetrennte Liste sollte jetzt in Zelle D1 erscheinen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Überprüfe, ob die Daten in dem richtigen Bereich (B1:B300) stehen und dass du das Makro korrekt ausführen kannst.
  • Fehler: Zelle D1 bleibt leer.

    • Lösung: Stelle sicher, dass der Bereich in der Schleife (Range("B1:B300")) korrekt definiert ist und dass die Zellen in Spalte B nicht leer sind.

Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch die Funktion VERKETTEN nutzen:

  1. Verwende die folgende Formel in D1:

    =VERKETTEN(B1; ", "; B2; ", "; B3; ", "; ... ; B300)

    Beachte, dass dies manuell und zeitaufwendig ist, wenn du eine große Anzahl an Zeilen hast.

  2. Eine andere Möglichkeit ist die Verwendung von Power Query, um die Spalte in eine kommagetrennte Liste zu transformieren.


Praktische Beispiele

Angenommen, du hast die folgenden Namen in B1:B5:

B
Müller
Huber
Maier
Kaiser
Meyer

Nach Ausführung des VBA-Codes wird in D1 folgendes Ergebnis erscheinen:

Müller, Huber, Maier, Kaiser, Meyer

Tipps für Profis

  • Optimiere den VBA-Code, indem du den Bereich dynamisch ermittelst, um die Anzahl der Zeilen nicht festzulegen.
  • Verwende TextToColumns, um eine Excel-Tabelle mit Komma zu trennen, wenn deine Daten in einer Spalte vorliegen.
  • Experimentiere mit anderen Trennzeichen, indem du den Wert von Trenner im VBA-Code änderst.

FAQ: Häufige Fragen

1. Kann ich diese Methode auch für andere Trennzeichen verwenden?
Ja, du kannst das Trennzeichen im VBA-Code anpassen, indem du den Wert von Trenner änderst.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die meisten VBA-Methoden funktionieren in Excel 2007 und späteren Versionen. Achte jedoch darauf, dass die Befehle im VBA-Editor verfügbar sind.

3. Wie kann ich das Ergebnis in eine andere Zelle als D1 schreiben?
Ändere einfach die Zielzelle im VBA-Code, z.B. Range("E1").Value anstelle von Range("D1").Value.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige