Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabelle mit x-Werten
#1
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
Antworten Top
#2
Freue mich auf eine Beispieltabelle, kein Bild.
Antworten Top
#3
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
Antworten Top
#4
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
Antworten Top
#5
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste