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

Transponieren mit Komma

Forumthread: Transponieren mit Komma

Transponieren mit Komma
10.03.2016 10:53:02
Maris
Hallo zusammen,
kann mir jemand bitte bei einem Problem mit einem Skript aushelfen?
Ich habe ab ab Zeile 2 verschieden viele ID ´s in Spalte A untereinander stehen.
Ich möchte nun, dass in Zelle A1, alle ID´s kommasepariert nebeneinander geschrieben werden.
Nach diesem Muster:
A1 25411, 11212, 55521
A2 25411
A3 11212
A4 55521
Würde mich freuen wenn mir jemand hilft.
Gruß,
Maris

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Transponieren mit Komma
10.03.2016 11:06:14
Michael
Hallo!
Eine Möglichkeit: In ein allgemeines Modul
Function IdSeparieren(Liste As Range) As String
Dim Zelle As Range
For Each Zelle In Liste
IdSeparieren = IdSeparieren & Zelle.Value & ", "
Next
IdSeparieren = Left(IdSeparieren, Len(IdSeparieren) - 2)
End Function
Dann kannst Du das als Zellformel nutzen, zB: in A1: =IdSeparieren(A2:A50)
LG
Michael

Anzeige
AW: Transponieren mit Komma
10.03.2016 11:27:26
Maris
Vielen Dank :)!

AW: Transponieren mit Komma
10.03.2016 11:06:24
UweD
so?

Sub sjdsjd()
On Error GoTo Fehler
Dim TB1, LR&, i%
Application.ScreenUpdating = False
With ActiveSheet
.Range("A1").ClearContents
LR = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR
.Range("A1") = .Range("A1") & .Cells(i, 1) & ", "
Next
If Len(.Range("A1")) > 2 Then .Range("A1") = Left(.Range("A1"), Len(.Range("A1")) - 2)
End With
'*** Fehlerbehandlung
Err.Clear
Fehler:
End Sub
Gruß UweD

Anzeige
AW: Transponieren mit Komma
10.03.2016 11:09:18
UweD
Fehlerbehandlung verschluckt
    ...
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

AW: Transponieren mit Komma
10.03.2016 11:27:43
Maris
Danke dir :)!

AW: ich werde wohl nie verstehen ...
10.03.2016 11:07:04
...
Hallo Maris,
... warum immer wieder viele Nutzer in Excel möglichst viel in eine Zelle quetschen wollen, obwohl doch Excel Millionen Zellen zur Verfügung stellt.
Nun sei es drum. Mit einer einer Hilfsspaltenlösung kannst Du Deinen Wunsch leicht erfüllen.
In A1: =B2 und
in B2: =WENN(A2="";"";A2&WENN(B3="";"";","&B3)) und Formel durch Doppelklick nach unten kopieren.
Gruß Werner
.. , - ...

Anzeige
AW: ich werde wohl nie verstehen ...
10.03.2016 11:26:49
Maris
Danke dir :o)

AW: Transponieren mit Komma
10.03.2016 11:11:00
Daniel
Hi
als Makro so:
Sub test
dim X() as string
dim txt as string
txt = Range("A1").value
txt = replace(txt, ", ", ",")
x = split(txt, ",")
Range("A2").resize(ubound(x)+1) = Worksheetfunction.Transpose(x)
End Sub
Gruß Daniel

Anzeige
AW: Transponieren mit Komma
10.03.2016 11:27:10
Maris
Dankeschön :-)!

AW: sorry falsch verstanden
10.03.2016 11:37:16
Daniel
die Aufgabenstellung ist ja genau anders rum:
Wenn in A2-Ax Einzelwerte stehen die nach A1 zusammengefasst werden sollen dann so:
Sub Test
Range("A1").Value = _
Join(Worksheetfunction.Transpose(Range(Cells(2, 1),Cells(2, 1).End(xldown)).Value), ", ")
End Sub
Gruß Daniel

Anzeige
Das Rad muss nicht noch mal erfunden wdn, ...
10.03.2016 13:46:47
Luc:-?
…Maris;
ab Xl2016 steht dafür TEXTVERKETTEN (TextJoin) zV. Analog (und evtl universeller) kannst du das in jeder XlVersion ab mindestens 9/2000 mit der im Archiv enthaltenen UDF VJoin (aktuell Version 1.4, nur in einigen hochgeladenen BspDateien) erreichen.
Gruß, Luc :-?
Besser informiert mit …
Anzeige
;

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

Infobox / Tutorial

Excel-IDs transponieren und mit Komma trennen


Schritt-für-Schritt-Anleitung

Um in Excel Zahlen untereinander, nebeneinander und kommasepariert in einer Zelle anzuzeigen, folge diesen Schritten:

  1. Öffne dein Excel-Dokument und stelle sicher, dass die IDs in Spalte A ab Zeile 2 untereinander stehen.

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

  3. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  4. Füge den folgenden VBA-Code ein:

    Function IdSeparieren(Liste As Range) As String
       Dim Zelle As Range
       For Each Zelle In Liste
           IdSeparieren = IdSeparieren & Zelle.Value & ", "
       Next
       IdSeparieren = Left(IdSeparieren, Len(IdSeparieren) - 2)
    End Function
  5. Gehe zurück zu deinem Excel-Blatt und gib in Zelle A1 die folgende Formel ein:

    =IdSeparieren(A2:A50)
  6. Drücke Enter, um die kommaseparierte Liste der IDs in Zelle A1 zu sehen.


Häufige Fehler und Lösungen

  • Problem: Die IDs erscheinen nicht in Zelle A1.

    • Lösung: Überprüfe, ob die Funktion IdSeparieren korrekt im Modul gespeichert ist. Stelle sicher, dass die IDs in dem angegebenen Bereich (A2:A50) vorhanden sind.
  • Problem: Fehlermeldung bei der Verwendung von VBA.

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe dazu auf Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros und aktiviere die Makros.

Alternative Methoden

Eine alternative Methode zum Transponieren von Werten aus Spalten in eine Zelle ist die Verwendung von Hilfsspalten:

  1. In Zelle B2 schreibe:
    =WENN(A2="";"";A2&WENN(B3="";"";", "&B3))
  2. Ziehe die Formel durch Doppelklick nach unten, um die IDs in der Hilfsspalte zusammenzuführen.
  3. In Zelle A1 kannst du dann einfach auf die letzte Zelle in Spalte B zugreifen, die die gesamte Liste enthält.

Praktische Beispiele

Beispiel 1: Wenn in Spalte A folgende IDs stehen:

A2: 25411
A3: 11212
A4: 55521

Die Formel =IdSeparieren(A2:A4) in Zelle A1 gibt das Ergebnis:

A1: 25411, 11212, 55521

Beispiel 2: Für eine Excel-Version vor 2016 kannst du die Funktion TEXTVERKETTEN (TextJoin) nicht verwenden, aber die oben genannten VBA-Methoden funktionieren in allen Versionen.


Tipps für Profis

  • Verwende VBA für große Datenmengen: Wenn du mit einer großen Anzahl von IDs arbeitest, ist die VBA-Lösung effizienter als die Hilfsspalten-Variante.
  • Fehlerbehandlung im Makro: Implementiere eine Fehlerbehandlung im VBA-Skript, um unerwartete Fehler elegant zu handhaben.

    On Error GoTo Fehler
    ' Dein Code hier
    Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear

FAQ: Häufige Fragen

1. Wie kann ich Excel-Spalte in Zeile umwandeln mit Komma? Du kannst die oben genannten VBA-Methoden verwenden, um die IDs in einer Zelle zusammenzuführen, oder die Formeln in Hilfsspalten.

2. Funktioniert das auch in älteren Excel-Versionen? Ja, die VBA-Methoden sind in allen Excel-Versionen ab 2000 verfügbar. Die Funktion TEXTVERKETTEN ist jedoch nur ab Excel 2016 verfügbar.

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