Changing from upper case to lower case

L

Louise

Hi all

I can't believe I can't remember how to do this but how do you change text
in Excel from upper case to sentence case? I have a workbook with approx. 15
worksheets and everything is in upper case and needs changing.

Thank you.
Louise
 
S

Sandy Mann

Depending on what you have in your sheets, (it will choke on Pivot tables
etc.) trysomething like:

Sub ChangeCase()
Application.ScreenUpdating = False
For Each sh In Worksheets
sh.Activate
For Each cell In Range("A1:M300")
'change A1:M300 to your range needs
cell.Value = Application.Proper(cell.Value)
Next cell
Next sh
Application.ScreenUpdating = True
End Sub

--
HTH

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

(e-mail address removed)
Replace @mailinator.com with @tiscali.co.uk
 
M

Mike H

Put this in a general module and run it

Sub change_Case()
For x = 1 To Worksheets.Count
Worksheets(x).Select
Selection.SpecialCells(xlCellTypeConstants, 2).Select
For Each c In Selection
c.Value = LCase(c.Value)
Next
Next
End Sub


Mike
 
B

Bill Ridgeway

Louise said:
Hi all

I can't believe I can't remember how to do this but how do you change text
in Excel from upper case to sentence case? I have a workbook with approx.
15
worksheets and everything is in upper case and needs changing.

Thank you.
Louise

Excel offers only -
=lower(a1)
=upper(a1)
=proper(a1) (which capitalises everything)

The only way I have found to change to 'sentence case' is to -
copy and paste into Word
use <Format><Change Case><Sentence Case>
copy and past back into Excel

This may be a bit tedious and there may be other ways but it works!

Bill Ridgeway
Computer Solutions
 
L

Louise

Hi Mike

Thanks very much for this, it works, however, is there any way it can
capitalise the first letter of every word, as the worksheets contain people's
names and divisions.

Thanks again.

Louise
 
M

Mike H

Hi,

Change this
c.Value = LCase(c.Value)

to this

c.Value = WorksheetFunction.Proper(c.Value)

Mike
 
L

Louise

That seems to have worked a treat and has saved me loads of time!! I still
struggle to get my head around VBA and can't actually write it myself.

Thanks very much.
Louise
 
L

Louise

Hi BIll

Thanks for your reply, however, I have copied the macro Mike created and it
works perfectly and takes a second to run!! If you do this quite often, it
might be worth copying the macro too.

Louise
 
S

Sandy Mann

Thanks for the catch Mike - I didn't have any formulas in the W/B I tested
it on but the *Cell.Value* should have alerted me to the danger.

--

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

(e-mail address removed)
Replace @mailinator.com with @tiscali.co.uk
 
G

Gord Dibben

Louise.

Just be careful that there are no formulas in your range to change.

They will be converted to values only.

Preferable to use c.Formula = WorksheetFunction.Proper(c.Formula)


Gord Dibben MS Excel MVP
 

Ask a Question

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.

Ask a Question

Top