VBA: Teil eines Zell-Eintrages in Array
19.03.2004 18:43:53
Christian
"VBA gut" ist bei mir bestimmt übertrieben, aber "VBA-mit-Recorder" stimmt genausowenig.
Ich habe ein riesige Tabelle (ca. 20000 Einträge) mit Namen und hierbei sind auch etliche Namen mit Adelstitel versehen.
(Bsp: "de", "von", "von der", "van", ..., "Graf", "Graf von", etc.)
Teilweise sind diese Adeltitel am Anfang des Namens eingetragen und teilweise hinten. Daher möchte ich diese Titel aus dem Namen separieren und suche hierfür ein geeigneten Code.
Meine Idee:
Gebe diese Titel in einen Array ein und suche in den Zell-Einträgen nach den einzelnen Array-Werten. Dabei scheitere ich allerdings kläglich. Ich schaff es noch nicht mal:
Dim arrAdel() As String
arrAdel() = "de", "von", ...
richtig zu formulieren.
schon mal vielen Dank bei allen, die sich dieses Problems annehmen.
Gruß
Christian.
mein bisheriger Code:
Sub Adel()
Dim strName As String, strAdel As String, i As Long, lR As Long
lR = Cells(Rows.Count, 5).End(xlUp).Row
For i = 2 To lR
strName = Cells(i, 5).Value
If Left(strName, 3) = "de " Then
strAdel = "de"
ElseIf Left(strName, 4) ="von " Then
strAdel = "von"
'...usw.
Else: strAdel = ""
End If
If strAdel <> "" Then
strName = Mid(strName, Len(strAdel) + 2, Len(strName) - Len(strAdel)-1)
End If
Next i
End Sub
und anschließend nochmal das ganze für rechts...