Is there a keyboard shortcut in Excel for changing the case of selected cells (to lower or upper or whatever)? All my searches lead me only to functions to do this. But that is not what I want.


Paul's suggestion is good or you can write your own macros and assign shortcut keys

 Sub makeUPPER()
  ActiveCell = UCase(ActiveCell)
 End Sub

 Sub makeLOWER()
  ActiveCell = LCase(ActiveCell)
 End Sub

I used the following technique to convert a column of text to uppercase.

  1. Move the cursor to a blank column.
  2. In the empty cell on the same row as the first cell you want to convert, type =upper(A3), if A3 is the first cell you want to convert.
  3. The previously empty cell should now show the upper case equivalent of your first cell of text.
  4. Copy this cell down the column to the same height as all of your text.
  5. You should now have a column equivalent to your text, but all in uppercase.
  6. Highlight all of the cells of uppercase text, and select copy.
  7. Left-click on the first cell of your source text (which is not in uppercase), which will select the cell.
  8. Right-click.
  9. Select Paste Special
  10. In the list box, select "Values" radio button, and click OK.
  11. You will now have 2 columns of upper case text.
  12. Delete the column containing the =upper() formulas.

The same principle works for Proper, and other text manipulation functions.


If you install the excellent ASAP Utilities Excel addin (free for personal use)...


this has built-in UPPER CASE and lower case options (as well as a zillion others) which you can assign shortcut keys to (see their website for more info)


Copy the text you want to change the case for paste into word highlight it and press shift + f3 till its all in the case you want and cut and past back.

  • That doesn't seem at all practical for multiple cells. – David Richerby Oct 8 '15 at 10:34

This works best for me, as it works on multiple cell selections:

Sub Uppercase()
    For Each Cell In Selection
        If Not Cell.HasFormula Then
            Cell.Value = UCase(Cell.Value)
        End If
    Next Cell
End Sub

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.