|
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 |