View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.misc
Brian Denny Brian Denny is offline
external usenet poster
 
Posts: 18
Default Changing the entire contents of my spreadsheet to uppercase

That worked very well. Thanks again!

Brian Denny

"Gord Dibben" wrote:

Apologies Brian.....had the idea in my mind that you were VBA conversant.

I usually append the following to my VBA posts.

If not familiar with VBA and macros, see David McRitchie's site for more on
"getting started".

http://www.mvps.org/dmcritchie/excel/getstarted.htm

In the meantime..........

First...create a backup copy of your original workbook.

To create a General Module, hit ALT + F11 to open the Visual Basic Editor.

Hit CRTL + r to open Project Explorer.

Find your workbook/project and select it.

Right-click and InsertModule. Paste the code in there. Save the
workbook and hit ALT + Q to return to your workbook.

Run the macro by going to ToolMacroMacros.

You can also assign this macro to a button or a shortcut key combo.


Gord

On Sun, 19 Nov 2006 12:45:02 -0800, Brian Denny <Brian
wrote:

Gord,

This looks great, but I have no idea how to run this macro. Under Tools I
see macros, and recording just records keystrokes, and the other selection
asks me to select a stored macro and there are none. Do I copy/paste this
somewhere and name it and then run? Please advise.

Thanks again.
Brian Denny

"Gord Dibben" wrote:

Brian

Macro is easiest for entire sheet.

Just select all cells with CTRL + a(twice in 2003) and run the macro.

Sub Upper_Case()
'David McRitchie, programming, 2003-03-07
Dim rng1 As Range, rng2 As Range, bigrange As Range
Dim cell As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
On Error Resume Next
Set rng1 = Intersect(Selection, _
Selection.SpecialCells(xlCellTypeConstants))
Set rng2 = Intersect(Selection, _
Selection.SpecialCells(xlCellTypeFormulas))
On Error GoTo 0
If rng1 Is Nothing Then
Set bigrange = rng2
ElseIf rng2 Is Nothing Then
Set bigrange = rng1
Else
Set bigrange = Union(rng1, rng2)
End If
If bigrange Is Nothing Then
MsgBox "All cells in range are EMPTY"
GoTo done
End If
For Each cell In bigrange
cell.Formula = UCase(cell.Formula)
Next cell
done:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


Gord Dibben MS Excel MVP

On Sun, 19 Nov 2006 12:13:01 -0800, Brian Denny <Brian
wrote:

Does anyone know an easy way, or any way to change the entire spreadsheet to
upper case lettering?