function, die teile eines strings auswertet

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

function, die teile eines strings auswertet

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: function, die teile eines strings auswertet

Beitrag 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
kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

Re: function, die teile eines strings auswertet

Beitrag von kannenklaus »

DANKE stepan passt genau!
Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

Re: function, die teile eines strings auswertet

Beitrag 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
kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

Re: function, die teile eines strings auswertet

Beitrag 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

Code: Alles auswählen

With ThisComponent.Sheets.getByName("Tabelle1")
gruß klaus
Antworten