Hallo zusammen
Ich kriege in einer Tabelle Firmennamen angeliefert, zum Beispiel "Max Muster AG" oder "Heinrich Hörst GmbH".
Was müsste ich in eine Funktion schreiben, dass ich als String nur a) die ersten beiden Wörter und b) nur das erste Wort zurück erhalte?
Ihr habt natürlich recht: Nachlesen und Ausprobieren wäre hier der vermutlich schlauste Ansatz, aber ich seh's wirklich nicht grad so ::)
Beste Grüsse
Micharius
Hallo Micharius,
Schau dir in der OH die Methode "Split" an.
gruss ekkehard
@Beaker: Wink mit dem Zaunpfahl verstanden 8)
Mit diesem Code kann ich einen Firmennamen à la "Max Muster AG" auswerten, und erhalte je nach Wunsch das erste oder zweite Worte retour:
Function FirmenNamenSplitten(strFirmennamen As String, bolAnzahlWoerter As Boolean) As String
Dim strArray() As String
strArray = split(strFirmennamen, " ")
Select Case bolAnzahlWoerter
Case 0
FirmenNamenSplitten = strArray(0)
Case 1
FirmenNamenSplitten = strArray(0) & " " & strArray(1)
End Select
End Function
Vermutlich codetechnisches Gebastel, über Optimimierungsvorschläge würde ich mich natürlich freuen...
Grüsse
Micharius
Split, Filter und Join sind rechenintensive Anweisungen. Wenn sich die Datenmenge in Grenzen hält, kannst Du soetwas mit in einer Abfrage gefilterten Daten veranstalten.
Aus dem VBA-Direktfenster:?Join(VBA.Filter(Split("Max Muster AG", " "), "AG", False))
Max Muster
Ich geb da gern noch mal was zu.
Probier mal das:
dim o as object, i as long
for each o in split(...)
debug.print o
i=i+1
select case i
case 1,2,3
....
case else
exit for
end select
next o