As I mentioned, why not use the keyboard shortcut ?. You can assign a key combination for a macro, as shown below.

Now you only need to select the column and press the shortcut key.
, , , , HACK .
.
Sub ChangeToUpper()
Dim rng As Range
'~~> Check if what the user selected is a valid range
If TypeName(Selection) <> "Range" Then
MsgBox "Select a range first."
Exit Sub
End If
Set rng = Selection
rng = WorksheetFunction.Transpose(Split(UCase(Join( _
WorksheetFunction.Transpose(rng), vbBack)), vbBack))
End Sub
:
