Clever-Excel-Forum

Normale Version: Tabelle mit x-Werten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eine Tabelle mit x-Werten. Diese x-Werte sind Materialtexten zugeordnet und stehen im Spaltenkopf.

Beispiel: Die Formel sollte  die x (oder auch mehrere) in der Zeile b5:N5 finden und dann den jeweiligen Spaltenname ( Kopf B3:N3 ) in M5 als Wert mit Komma schreiben.   Die Texte in in B3:N3 sind als Text formatiert und stehen vertikal.

Freue mich auf einen Vorschlag

Carlo
Freue mich auf eine Beispieltabelle, kein Bild.
Hallo Carlo,

per UDF z.B. so:

der Code kommt in ein allgemeines VBA-Modul (Alt+F11, Einfügen > Modul):
Function UDF_Material(Bereich As Range) As String
Dim rngT As Range
Dim strT As String
For Each rngT In Bereich
If UCase(rngT.Value) = "X" Then
strT = strT & ", " & Cells(3, rngT.Column).Value
End If
Next rngT
UDF_Material = Mid(strT, 3)
End Function
In eine Zelle kommt dann folgende Formel: =UDF_Material(B5:N5)

Gruß Uwe
Wow - vielen herzlichen Dank. Der Code funktioniert wunderbar. Allerdings habe ich noch eine Frage zu dem Code. 

Der Spaltentext ist in etwa so aufgebaut:

A5899e3r4, Bosch Akkutschrauber .....

Gibt es die Möglichkeit, die Textausgabe nur bis zum Komma auszugegeben?

DANKE

Carlo
Hallo Carlo,

teste mal damit:
Function UDF_Material(Bereich As Range) As String
 Dim lngT As Long
 Dim rngT As Range
 Dim strG As String
 Dim strT As String
 For Each rngT In Bereich
   If UCase(rngT.Value) = "X" Then
     With Cells(3, rngT.Column)
       strT = .Value
       lngT = InStr(1, strT, ",")
       lngT = IIf(lngT, lngT - 1, Len(strT))
       strG = strG & ", " & Left(strT, lngT)
     End With
   End If
 Next rngT
 UDF_Material = Mid(strG, 3)
End Function
Gruß Uwe