Seite 1 von 1
function, die teile eines strings auswertet
Verfasst: So, 05.08.2007 07:58
von kannenklaus
hallo
gibt es oder wie lautet ein funktion, die z.b. die zelle a1 auf die teilstrings auswertet und je nach auswertung in der zelle b1 eine wert reinschreibt.
gesuchte teilstrings sind:
"Gemeinde"
"Land"
a1=Gemeinde Nellingen dann soll in b1-->Gemeinde stehen
a1=Gemeinde Merklingen dann soll in b1-->Gemeinde stehen
a1=Land B-W dann soll in b1-->Land stehen
freue mich auf eine antwort
klaus
Re: function, die teile eines strings auswertet
Verfasst: So, 05.08.2007 09:12
von Stephan
MID
z.B.:
Code: Alles auswählen
Sub Main
With ThisComponent.Sheets("Tabelle1")
a = .GetCellRangeByName("A1").String
i = 0
Do
i = i + 1
If MID(a,i,4) = "Land" Then
.GetCellRangeByName("B1").String = "Land"
Exit Sub
ElseIf MID(a,i,8) = "Gemeinde" Then
.GetCellRangeByName("B1").String = "Gemeinde"
Exit Sub
End if
Loop While i < LEN(a)-4
End With
End Sub
Gruß
Stephan
Re: function, die teile eines strings auswertet
Verfasst: So, 05.08.2007 09:30
von kannenklaus
DANKE stepan passt genau!
Re: function, die teile eines strings auswertet
Verfasst: Di, 07.08.2007 08:30
von Hömmelmann
Das geht noch einfacher mit der Funktion " INSTR() " ; dann wird keine Do-Loop-Schleife benötigt.
Sub Main
With ThisComponent.Sheets("Tabelle1")
If Instr(.GetCellRangeByName("A1").String, "Land") > 0 Then
.GetCellRangeByName("B1").String = "Land"
Exit Sub
ElseIf Instr(.GetCellRangeByName("A1").String, "Gemeinde") > 0 Then
.GetCellRangeByName("B1").String = "Gemeinde"
Exit Sub
End if
End With
End Sub
Gruß, Friedhelm
Re: function, die teile eines strings auswertet
Verfasst: Mi, 08.08.2007 14:34
von kannenklaus
hallo friedhelm,
danke für den tipp; klappt super. in einer zeile war der code zu verbessern:
anstatt
With ThisComponent.Sheets("Tabelle1")
muss die methode getByName noch hinzugefüt werden
gruß klaus