Try this...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
On Error GoTo ReEnable
Application.EnableEvents = False
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
For Each cell In Intersect(Target, Range("A1:A5"))
cell.Value = UCase(cell.Value)
Next cell
End If
If Not Intersect(Target, Range("B1:B5")) Is Nothing Then
For Each cell In Intersect(Target, Range("B1:B5"))
cell.Value = Application.Proper(cell.Value)
Next cell
End If
ReEnable:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Worksheet_Change event procedure: " & vbLf & _
Err.Description, vbCritical, "Error " & Err.Number
End Sub
Bookmarks