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
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
Trenner = ", "
Um eine Liste in Excel kommagetrennt in einer Zelle darzustellen, kannst du folgende Schritte durchführen:
Datenvorbereitung: Stelle sicher, dass deine Liste in den Zellen B1 bis B300 steht.
VBA-Editor öffnen:
ALT + F11, um den VBA-Editor zu öffnen.Neues Modul hinzufügen:
Einfügen > Modul.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
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.
Ergebnis überprüfen: Die kommagetrennte Liste sollte jetzt in Zelle D1 erscheinen.
Fehler: Das Makro funktioniert nicht.
Fehler: Zelle D1 bleibt leer.
Range("B1:B300")) korrekt definiert ist und dass die Zellen in Spalte B nicht leer sind.Falls du keine VBA-Lösung verwenden möchtest, kannst du auch die Funktion VERKETTEN nutzen:
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.
Eine andere Möglichkeit ist die Verwendung von Power Query, um die Spalte in eine kommagetrennte Liste zu transformieren.
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
TextToColumns, um eine Excel-Tabelle mit Komma zu trennen, wenn deine Daten in einer Spalte vorliegen.Trenner im VBA-Code änderst.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.