Here is another macro that you can try...
Note: If you find there are other stand-alone words that you want to appear all lower case, add them to the space delimited list shown in blue above (but make sure the text starts and ends with a space after you have done so).Code:
Sub SpecialProperCase() Dim R As Long, X As Long, CellVals As Variant, Words() As String CellVals = Range("B3", Cells(Rows.Count, "B").End(xlUp)) For R = 1 To UBound(CellVals) Words = Split(Application.Proper(CellVals(R, 1))) For X = 0 To UBound(Words) If Words(X) Like "#*" Then Words(X) = UCase(Words(X)) ElseIf " di da con per mm in a e la le " Like "*[!A-Z0-9]" & LCase(Words(X)) & "[!A-Z0-9]*" Then Words(X) = LCase(Words(X)) End If Next CellVals(R, 1) = Join(Words) Next Range("G3:G" & UBound(CellVals)) = CellVals End Sub




Reply With Quote
Bookmarks