CapString



properName = StrConv(text, vbProperCase)
'However, be aware that this variant of StrConv also forces a conversion to lowercase

'for all the characters not at the beginning of a word. In other words, "seattle, USA," is

'converted to "Seattle, Usa," which you don't want. You still need to write a custom

'routine, but you can take advantage of StrConv to reduce the amount of code in it:

Function ProperCase(text As String) As String
Dim result As String, i As Integer
result = StrConv(text, vbProperCase)
' restore all those characters that

' were uppercase in the original string

For i = 1 To Len(text)
Select Case Asc(Mid$(text, i, 1))
Case 65 To 90' A-Z
Mid$(result, i, 1) = Mid$(text, i, 1)
End Select
Next
ProperCase = result
End Function


(capstring.html)- by Paolo Puglisi - Modifica del 25/3/2019