Excel.Tips.Net Welcome toExcel.Tips.Net

Helpful Links

Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment

Tips.Net Store

ExcelTips FAQ
ExcelTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
Cooking Tips
ExcelTips (menu)
ExcelTips (ribbon)
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
School Tips
Wedding Tips
WordTips (menu)
WordTips (ribbon)

Advertise on the
ExcelTips Site

Newest Tips

Working with Imperial Linear Distances

Counting Unique Values

Incomplete and Corrupt Sorting

Quickly Removing a Toolbar Button

Returning the MODE of a Range

Deriving High and Low Non-Zero Values

Counting Cells with Specific Characters

 

Converting Cells to Proper Case

Summary: An Excel macro to change cells from uppercase to lowercase. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, and Excel 2003.)

Have you ever run into people who insist on typing everything with the Caps Lock key on? In some worksheets, that may not be acceptable. Yet, there you are, with a worksheet full of text cells that are all in uppercase. How do you convert everything to upper- and lowercase, without the need to retype?

If you find yourself in this situation, the MakeProper macro may do the trick for you. It will examine a range of cells, which you select, and then convert any constants to what Excel refers to as "proper case." This simply means that when you are done, the first letter of each word in a cell will be uppercase; the rest will be lowercase. If a cell contains a formula, it is ignored.

Sub MakeProper()
    Dim rngSrc As Range
    Dim lMax As Long, lCtr As Long

    Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)
    lMax = rngSrc.Cells.Count

    For lCtr = 1 To lMax
        If Not rngSrc.Cells(lCtr).HasFormula Then
            rngSrc.Cells(lCtr) = Application.Proper(rngSrc.Cells(lCtr))
        End If
    Next lCtr
End Sub

If you would rather convert all the text in the range into lowercase, you can instead use the following macro, MakeLower().

Sub MakeLower()
    Dim rngSrc As Range
    Dim lMax As Long, lCtr As Long

    Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)
    lMax = rngSrc.Cells.Count

    For lCtr = 1 To lMax
        If Not rngSrc.Cells(lCtr).HasFormula Then
            rngSrc.Cells(lCtr) = LCase(rngSrc.Cells(lCtr))
        End If
    Next lCtr
End Sub

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2026) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003

Remove Some Stress at Tax Time! Doing your personal income taxes can be a royal pain. Why not make the process just a bit less stressful with our 101-question checklist. You can prepare for filing your taxes with confidence, knowing you've covered all your bases.
 
Check out Filing Your Income Taxes Checklist today!