Gleich vorweg, ich bin kein Profi. Allerdings versuche ich immer wieder mit Excel klar zukommen Heute tüftle ich schon ewig an folgendem Problem: Ich habe in mehreren Zeilen verschiedene Werte in verschiedenen Spalten, welche ich gerne am Ende durch ein Komma + Leerzeichen getrennt in einer Zelle zusammenfassen möchte. Dies benötige ich für einen Serienbrief. Eigentlich ja kein Problem. Allerdings ist der Inhalt pro Zeile immer unterschiedlich lang und wenn es dann einen kürzeren Inhalt gibt, habe ich ein Problem mit den Kommas. Das sieht dann Beispielsweise so aus: 2, 3, 4, 5, 6, , , , , ,. Und genau um diese Komas am Ende geht es. Die sollen dort nicht stehen, egal wie lang der Inhalt ist. Ich weiß jetzt nicht, ob ich mich verständlich ausgedrückt habe, deshalb hänge ich hier noch ein Bild an.
In Office 365 und in Excel Online ist die Funktion TEXTVERKETTEN() verketten verfügbar. Ansonsten gibt es Lösungen mit Hilfsspalten oder mit UDFs (z.B. VJoin von Castor).
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
03.06.2017, 13:48 (Dieser Beitrag wurde zuletzt bearbeitet: 03.06.2017, 13:48 von Peter.
Bearbeitungsgrund: Code-Tags korrigiert
)
Hallo,
ich habe da noch einen VBA-Code in meinem Fundus der dir auch helfen könnte:
Folgender VBA-Code muss in ein Modul der Tabelle (*):
Code:
Function Verketten2(ByRef bereich As Range, Trennzeichen As String) As String Dim rng As Range For Each rng In bereich If rng <> "" Then Verketten2 = Verketten2 & rng & Trennzeichen End If Next If Len(Verketten2) > 0 Then _ Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen)) End Function
In die Zelle AK2 dann folgende Formel:
=Verketten2(E2:AI2;", ")
(*) - Öffne mit Alt+F11 den VBA-Editor - mit Strg+R den Projekt-Explorer öffnen und aktivieren - die gewünschte Datei per Doppelklick markieren - Tastenkombination Alt+E und dann M drücken - in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden - in dieses Modul muss der Code eingefügt werden - im Projektexplorer wird das Modul unter der Datei angezeigt - speichen und den VBA-Editor mit Alt+F4 schliessen - die Funktion steht dir jetzt in dieser Datei zur Verfügung
Gruß Peter
Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:1 Nutzer sagt Danke an Peter für diesen Beitrag 28 • schubste
Vielen vielen Dank für Eure Antworten. Ich habe mich für die Lösung von Peter entschieden. Diese funktioniert für mich super. :19: Natürlich ist es immer am einfachsten, einen vorhanden Code zu kopieren, aber leider fehlt mir die Zeit um tiefer einzusteigen. Ich hoffe, die finde ich irgendwann :05:
ich habe da noch einen VBA-Code in meinem Fundus der dir auch helfen könnte:
Folgender VBA-Code muss in ein Modul der Tabelle (*):
Code:
Function Verketten2(ByRef bereich As Range, Trennzeichen As String) As String Dim rng As Range For Each rng In bereich If rng <> "" Then Verketten2 = Verketten2 & rng & Trennzeichen End If Next If Len(Verketten2) > 0 Then _ Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen)) End Function
In die Zelle AK2 dann folgende Formel:
=Verketten2(E2:AI2;", ")
(*) - Öffne mit Alt+F11 den VBA-Editor - mit Strg+R den Projekt-Explorer öffnen und aktivieren - die gewünschte Datei per Doppelklick markieren - Tastenkombination Alt+E und dann M drücken - in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden - in dieses Modul muss der Code eingefügt werden - im Projektexplorer wird das Modul unter der Datei angezeigt - speichen und den VBA-Editor mit Alt+F4 schliessen - die Funktion steht dir jetzt in dieser Datei zur Verfügung
Eine Frage hätte ich noch. Ich musste meine Tabelle noch etwas umbauen. Ich habe jetzt leere Zellen in jeder Zeile und wenn ich es am Ende dann wie hier beschrieben zusammenfasse, werde mir natürlich auch die Leeren Zellen mit Kommaabtrennung ausgegeben. Gibt es einen kleine Trick, mit dem man die leeren Felder weg bekommt? Alle Zahlen sollen durch Komma + Leer getrennt fortlaufend angezeigt werden.
Hallo, Peter, du sammelst so etwas? Dann sollte dich Detlefs Hinweis interessieren, denn Verketten2 gibt's in zig Varianten von verschiedenen Autoren (dazu auch noch etwas anders benannte wie VerkettenA u.ä.), VJoin aber nur in 6 Versionen vom gleichen Autor, von denen die letztpublizierte 1.4 ist: VJoin, Vs1.4, in BspDatei Gruß + Frohe Pfingsten, Castor
In Zeile 1 sind B1, D1 und F1 leer, deswegen in H1 auch das Ergebnis 4.
In Zeile 2 ist in B2, D2 und F2 ein Leerzeichen, das Ergebnis in H2 ist deswegen auch 6.
Deswegen gehe ich davon aus, dass du tatsächlich keine leere Zellen hast.
Hallo Peter,
Du hast Recht. In den leeren Zellen befindet sich, wie auch bei den befüllten Feldern eine Formel, welche mir die Zelle leer ausgibt. Selbst wenn ich den Inhalt komplett einfüge und damit die Formel entferne, bleiben die Kommas. Jetzt bin ich irgendwie ratlos