Excel: Einzelne Zeilen einer mehrzeiligen Zelle auslesen
Hallo zusammen,
ich habe folgendes Problem und hoffe auf Eure Hilfe.
Vereinfachtes Beispiel: Zelle A1 ist zum mehrzeilig (Zeilenumbrüche mit Alt+Enter) und hat folgenden Inhalt.
Farbe: rot
Größe: 125
Form: rechteckig
Ich möchte die Angaben zu Farbe, Größe und Form am liebsten mittels einer Formel auslesen, sodass zum Beispiel Zelle B1 den Inhalt "rot" hat, Zelle C1 "125" und Zelle D1 "rechteckig".
Die Angaben sollen in Abhängigkeit der Zeichenfolgen "Farbe:", "Größe" und "Form:" oder falls das nicht möglich ist, in Abhängigkeit der Zeilennummer ausgelesen werden.
Es soll nicht, der gesamte Zellinhalt in Spalten aufgeteilt werden.
Ich hoffe es ist einigermaßen verständlich.
Viele Grüße
ich habe folgendes Problem und hoffe auf Eure Hilfe.
Vereinfachtes Beispiel: Zelle A1 ist zum mehrzeilig (Zeilenumbrüche mit Alt+Enter) und hat folgenden Inhalt.
Farbe: rot
Größe: 125
Form: rechteckig
Ich möchte die Angaben zu Farbe, Größe und Form am liebsten mittels einer Formel auslesen, sodass zum Beispiel Zelle B1 den Inhalt "rot" hat, Zelle C1 "125" und Zelle D1 "rechteckig".
Die Angaben sollen in Abhängigkeit der Zeichenfolgen "Farbe:", "Größe" und "Form:" oder falls das nicht möglich ist, in Abhängigkeit der Zeilennummer ausgelesen werden.
Es soll nicht, der gesamte Zellinhalt in Spalten aufgeteilt werden.
Ich hoffe es ist einigermaßen verständlich.
Viele Grüße
Please also mark the comments that contributed to the solution of the article
Content-Key: 326752
Url: https://administrator.de/contentid/326752
Printed on: May 9, 2024 at 11:05 o'clock
3 Comments
Latest comment
Moin.
Du könntest dir zwar solche Frickel-Formeln zusammen schustern wie
für B1 usw.
Sinniger wäre es jedoch IMHO z.B. dafür eine kleine Formel-Funktion in ein Modul zu schreiben:
Und dann in Zelle B1,C1,D1 diese Funktion als Formeln zu nutzen
Gruß mik
Du könntest dir zwar solche Frickel-Formeln zusammen schustern wie
=TEIL($A1;SUCHEN("Farbe:";$A1)+LÄNGE("Farbe:")+1;FINDEN(ZEICHEN(10);$A1)-(SUCHEN("Farbe:";$A1)+LÄNGE("Farbe:")+1))
Sinniger wäre es jedoch IMHO z.B. dafür eine kleine Formel-Funktion in ein Modul zu schreiben:
Public Function GetValue(rngCell As Range, strWert As String)
For Each Line In Split(rngCell.Value, Chr(10), -1)
arrData = Split(Line, ":", 2, vbTextCompare)
If LCase(Trim(arrData(0))) = LCase(strWert) Then
GetValue = Trim(arrData(1))
Exit Function
End If
Next
End Function
=GetValue(A1;"Farbe")
=GetValue(A1;"Größe")
=GetValue(A1;"Form")