Be carful with this because you can't enter formulas anymore in the worksheet when you use this.
It will make it a value after you press enter after you enter or edit the formula.
Try this
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.HasFormula Then Target.Value = UCase(Target.Value)
End Sub
Also you need to handle multiple selections error values:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
If Not c.HasFormula And Not IsError(c.Value) Then c.Value =
UCase(c.Value)
Next
End Sub
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.