Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1584to1588
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Überschriften einer Tabelle übernehmen

Überschriften einer Tabelle übernehmen
24.10.2017 14:40:27
Andy
Hallo alle zusammen, ich wende mich mal wieder mit einem kleinen Problem an euch, in der Hoffnung tatkräftig Unterstützung zu bekommen.
Folgende Ausgangssituation: in der Zeile eins stehen verschiedene Überschriften. In der Zeile zwei und fortfolgende werden durch eine Userform Abfrage mit checkboxen unter den jeweiligen Überschriften als wert true ein X eingetragen. Es sind circa 100 Datensätze (Zeilen) in denen circa 40 Spalten mit dem Ex jeweils belegt werden. Ich hätte jetzt gerne, dass mir alle Spaltenüberschriften, die mit X angeklickt worden, am Ende der Zeile in eine einzige Zeile zusammen gefasst werden.
A. B. C. D. X
1: Maier Müller. Fritz Hannes ....... Ergebnis
2.: X. X. X. Maier, Müller , Hannes. (Alles in einer Zelle)
3.: X. X. Müller, Fritz (alles in einer Zelle )
Gibt es dafür eine Lösung ? Bzw eine Formel , die aus den verschiedenen X ein Ergebnis aus den Überschriften zusammenfasst ? Ihr würdet mir echt helfen...

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

Betreff
Datum
Anwender
Anzeige
Zeig was Du willst in einer Bsp-Mappe, owT
24.10.2017 18:12:46
Michael
Mit VBA...
25.10.2017 17:10:21
Michael
Hallo Larson/Andy (spontane Namensänderung?)
...ist das mit einer kleinen UDF (benutzerdefinierte Funktion) möglich, siehe: https://www.herber.de/bbs/user/117224.xlsm
Code dazu
Function CollectNames(GesamteListe As Range, Optional Trenner$)
Dim n, h, Ac As Range, i&, fR&, cR&, s$, sep$
sep = IIf(Trenner = vbNullString, ",", Trenner)
Set Ac = Application.Caller
fR = GesamteListe.Resize(1, GesamteListe.Columns.Count).Row
cR = Ac.Row
n = GesamteListe.Resize(1, GesamteListe.Columns.Count)
h = GesamteListe.Offset(cR - fR, 0).Resize(1, GesamteListe.Columns.Count)
For i = LBound(h, 2) To UBound(h, 2)
If h(1, i)  "" Then s = s & Trim(n(1, i)) & sep
Next i
CollectNames = Left(s, Len(s) - 1)
Erase n: Erase h: Set Ac = Nothing
End Function
Erfordert natürlich ein Speichern der Mappe als .xlsm. Mit Excel-Bordmitteln, also integrierten Funktionen, finde ICH auf die Schnelle keine Lösung (aber dafür gibt's ggf. weit bessere Formel-Cracks hier im Forum).
LG
Michael
Anzeige
AW: Mit VBA...
27.10.2017 00:23:30
Andy
Super... genau das, was ich wollte. Vielen vielen Dank.
Freut mich, Danke für die Rückmeldung, owT
27.10.2017 11:19:27
Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige