Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text zusammenführen

Forumthread: Text zusammenführen

Text zusammenführen
Michael
Hallo zusammen,
zur Zeit verzweifle ich an folgendem Problem:
Ich habe in Spalte "B" eine Liste von Ausstattungsdetails, in der Entsprechenden Zeile möchte ich vor den Ausstattungsdetails die ein Fahrzeug hat (Also Spalte "A") ein "x" setzen.
https://www.herber.de/bbs/user/79155.xls
Nun sollen über VBA alle Ausstattungsdetail in einer Zelle zusammenkopiert und jeweils mit einem ", " getrennt werden. Verketten kann ich leider nicht nehmen, da ich das "Textergebnis" kopieren möchte um es in einem anderen Programm zu nutzen!
Hat jemand eine Idee?
Viele Grüße aus Viersen
Michael
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
VBA: Function VERKETTENWENN()
01.03.2012 15:18:29
NoNet
Hallo Michael,
schau dir mal diesen Thread an :
http://www.ms-office-forum.net/forum/showthread.php?p=1172260#poststop
Den gesamten VBA-Code (PUBLIC FUNCTION bis END FUNCTION) musst Du in ein allgemeines Modul (z.B. Modul1) im VBA-Editor (Alt+F11) kopieren, dann kannst Du in einer Zelle folgende Funktion verwenden :
=VERKETTENWENN(A2:A12;"x";B2:B12;", ")
Das Ergebnis dieser Zelle kannst Du dann kopieren (Strg+C) und per "Inhalte einfügen - Werte" als fixen Wert in die Zelle einfügen.
Ergebnis :
Radio mit CD - Spieler, AUX - Anschluß, Navigationssystem mit Rückfahrkamera, Bluetooth Freisprecheinrichtung, Klimaautomatik (getrennt regelbar), Multifunktionslenkrad, Lederlenkrad & Lederschaltknauf

Gruß, NoNet
Anzeige
AW: VBA: Function VERKETTENWENN()
01.03.2012 15:28:51
Michael
Hey NoNet,
funktioniert einwandfrei! Vielen Dank!!
Viele Grüße
Michael
AW: VBA: Function VERKETTENWENN()
02.03.2012 08:20:04
Franz
Guten Morgen,
sehr interessante Geschichte.
Gibt es auch noch die Möglichkeit über eine zusätzlichen Spalte
die Reihenfolge der Begriffe in Spalte B festzulegen?
Muss wahrscheinlich über die Funktion gesteuert werden.
Gruß
Franz
Anzeige
VBA: Function VERKETTENWENN() mit Sortierung
03.03.2012 01:12:36
NoNet
Hallo Franz,
die Sortierung inder UDF ist eine gute Idee !
Hier die angepasste Variante .
Public Function VerkettenWenn(rngVergleichsmatrix, strVergleichswert, _
rngWerte, lngSort, Optional strTrenner)
'Verkettet Werte aus dem Bereich "rngWerte", wenn Wert aus
'Bereich "rngVergleichsmatrix" dem Inhalt von "strVergleichswert" entspricht
'lngSort : 0=Ohne Sortierung, 1=Aufsteigend sortiert, 2=Absteigend sortiert
'Beispiel-Aufruf im Tabellenblatt : =VERKETTENWENN(A2:A20;"xy";B2:B20;0;" - ")
'29.11.2008, NoNet
'Erweitert (Sortierung) : 03.03.2012, NoNet - www.excelei.de
'Beispiel-Aufruf im Tabellenblatt : =VERKETTENWENN(A2:A20;"x";B2:B20;1;" - ")
Dim rngZelle As Range, strTemp As String, lngI As Long
Dim lngA As Long, varA As Variant
Dim arrW()
ReDim Preserve arrW(0)
If IsMissing(strTrenner) Then strTrenner = ","
strTemp = ""
lngI = 0
For Each rngZelle In rngVergleichsmatrix
lngI = lngI + 1
If rngZelle.Value = strVergleichswert Then
If lngSort = 0 Then
strTemp = strTemp & _
Application.Index(rngWerte, lngI) & strTrenner
Else
arrW(UBound(arrW)) = Application.Index(rngWerte, lngI)
ReDim Preserve arrW(UBound(arrW) + 1)
End If
End If
Next
If UBound(arrW) > LBound(arrW) Then ReDim Preserve arrW(UBound(arrW) - 1)
If lngSort Then
For lngI = LBound(arrW) To UBound(arrW)
For lngA = LBound(arrW) To lngI - 1
If (lngSort = 1 And arrW(lngI) > arrW(lngA)) Or _
(lngSort = 2 And arrW(lngI)  "" And lngSort = 0 Then strTemp = Left(strTemp, Len(strTemp) - Len(strTrenner) _
)
VerkettenWenn = strTemp
End Function

Die Sortierung wird über den 4. Parameter der Funktion im Aufruf gesteuert :
=VERKETTENWENN(A2:A20;"x";B2:B20;0;" - ") : KEINE Sortierung, Reihenfolge wie in B2:B20
=VERKETTENWENN(A2:A20;"x";B2:B20;1;" - ") : AUFSTEIGENDE Sortierung, nach Wert in B2:B20
=VERKETTENWENN(A2:A20;"x";B2:B20;2;" - ") : ABSTEIGENDE Sortierung, nach Wert in B2:B20
Gruß, NoNet
Anzeige
Sehr schön, aber warum nicht gleich beliebige...
03.03.2012 04:08:32
Luc:-?
…Reihenfolge, NoNet,
so wie ich das mitunter mache, bspw mit Positionenmatrix {3.1.4.2} … ;-)
Gruß+schöWE, Luc :-?
;

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