I am trying to select all the data in a column and make it proper case.
This is what I'm starting with:
Range("D3").Select
Range(Selection, Selection.End(xlDown)).Select
I think I want to use Application.WorksheetFunction.Proper.
I am trying to select all the data in a column and make it proper case.
This is what I'm starting with:
Range("D3").Select
Range(Selection, Selection.End(xlDown)).Select
I think I want to use Application.WorksheetFunction.Proper.
 
    
     
    
    Here is my approach to this, adjust the column index (rw.Row, 1) to suit your project
Sub ConvertValuesInColumnOneToProperCase()
    Dim wb As Workbook: Set wb = ThisWorkbook
    Dim ws As Worksheet: Set ws = ActiveSheet
    Dim rw As Range
    For Each rw In ws.UsedRange.Rows
        ws.Cells(rw.Row, 1) = StrConv(ws.Cells(rw.Row, 1), vbProperCase)
    Next rw
End Sub
 
    
    Please, try this way. The next code processes the values in column E:E. You can easily adapt it for another column. No need to select anything. Selecting, activating only consumes Excel resources without bringing any benefit:
Sub UcaseRange()
 Dim sh As Worksheet, rng As Range
 
  Set sh = ActiveSheet
  Set rng = sh.Range("E2:E" & sh.Range("E" & sh.rows.count).End(xlUp).row)
  rng = Evaluate("INDEX(UPPER(" & rng.Address(0, 0) & "),)")
End Sub
