Erste Buchstaben groß
Hallo,
habe bei Euch den Code für Excel VBA gefunden und kann den super bei mir verwenden,
aber wie bekomme ich es hin, dass nach mehreren Trennkriterien bearbeitet wird
Hier der Code :
MsgBox FirstUpper("KARL-heinz", "-")
MsgBox FirstUpper("karl", "-")
Function FirstUpper(N, Delim)
NameParts = Split(LCase(N), Delim)
For i = 0 To UBound(NameParts)
NameParts(i) = UCase(Left(NameParts(i), 1)) & Mid (NameParts(i), 2)
Next
FirstUpper = Join(NameParts, Delim)
End Function
Das geht nun nur für z.B. hans-Peter-mayer
Es wäre schön, wenn man da auch gleich LEER-Zeichen gleichzeitig mit abfragen und bearbeiten kann,
also z.B.
KARL-meyer von peter
Damit dann daraus: Karl-Meyer von Peter
wird
habe bei Euch den Code für Excel VBA gefunden und kann den super bei mir verwenden,
aber wie bekomme ich es hin, dass nach mehreren Trennkriterien bearbeitet wird
Hier der Code :
MsgBox FirstUpper("KARL-heinz", "-")
MsgBox FirstUpper("karl", "-")
Function FirstUpper(N, Delim)
NameParts = Split(LCase(N), Delim)
For i = 0 To UBound(NameParts)
NameParts(i) = UCase(Left(NameParts(i), 1)) & Mid (NameParts(i), 2)
Next
FirstUpper = Join(NameParts, Delim)
End Function
Das geht nun nur für z.B. hans-Peter-mayer
Es wäre schön, wenn man da auch gleich LEER-Zeichen gleichzeitig mit abfragen und bearbeiten kann,
also z.B.
KARL-meyer von peter
Damit dann daraus: Karl-Meyer von Peter
wird
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 195568
Url: https://administrator.de/contentid/195568
Ausgedruckt am: 24.11.2024 um 06:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo hubraumking,
ich würde mittels Regulärem Ausdruck die Anfangspositionen der einzelnen Wörter suchen.
Microsoft Beefs Up VBScript with Regular Expressions
Grüße
rubberman
ich würde mittels Regulärem Ausdruck die Anfangspositionen der einzelnen Wörter suchen.
Option Explicit
Sub test()
MsgBox FirstUpper("KARL-meyer von peter")
End Sub
Function FirstUpper(strName)
Dim objRegex, colMatches, objItem, index, strChar
strName = LCase(strName)
Set objRegex = CreateObject("VBScript.RegExp")
objRegex.Global = True
objRegex.Pattern = "\b\w+\b"
Set colMatches = objRegex.Execute(strName)
For Each objItem In colMatches
If objItem.Value <> "von" Then
index = objItem.FirstIndex
strChar = Mid(strName, index + 1, 1)
strName = Replace(strName, Right(strName, Len(strName) - index), Replace(strName, strChar, UCase(strChar), index + 1, 1))
End If
Next
FirstUpper = strName
End Function
Microsoft Beefs Up VBScript with Regular Expressions
Grüße
rubberman
Sorry, aber an diesem Punkt bin ich raus. Ich habe keine Ahnung von MAC. Im Netz findet sich auch nur die Info, dass Reguläre Ausdrücke dort nicht unterstützt werden (wie einiges andere auch).
Da sollen sich andere MAC User mal den Kopf zerbrechen
Grüße
rubberman