Hallo zusammen,
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.
Besten Dank für Eure Hilfe
[Bild: Excel.jpg]
Hallo
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).
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
Hi,
hier eine Formellösung für XL2013. Die Formel musst du halt erweitern.
Tabelle1 | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG |
1 | 7 | | | | | | | | | | | | | | | | | | | | | | | | | | 1, 2, 3, 4, 5, 6, 7 |
2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | | | | | | | | | | | | | | | | | | | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
4 | 5 | 6 | | 7 | 8 | | 9 | | | | | | | | | | | | | | | | | | | | 1, 2, 3, 4, 5, 6, 7 |
Formeln der Tabelle |
Zelle | Formel | AG1 | =WECHSELN(GLÄTTEN(A1&" "&B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1&" "&H1&" "&I1&" "&J1);" ";", ") |
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Quelle:
http://www.online-excel.de/excel/singsel.php?f=35
Hallo Zusammen,
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:
viele Grüße
Stefan
(03.06.2017, 12:48)Peter schrieb: [ -> ]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
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.
[Bild: bild1.jpg]
vielen Dank für Eure Unterstützung
Hallo,
leere Zellen wird nicht ausgegeben:
Tabelle1 | A | B | C | D | E | F | G | H |
1 | 1 | | 3 | | 7 | 8 | 1, 3, 7, 8 | 4 |
2 | 1 | | 3 | | 7 | 8 | 1, , 3, , 7, 8 | 6 |
Formeln der Tabelle |
Zelle | Formel | G1 | =Verketten2(A1:F1;", ") | H1 | =ANZAHL2(A1:F1) |
|
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 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
(03.06.2017, 17:18)Peter schrieb: [ -> ]Hallo,
leere Zellen wird nicht ausgegeben:
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
Gruß
Stefan