Worksheet formatting with Macro...

  • Thread starter Thread starter Celt
  • Start date Start date
C

Celt

TIA for any help.

I think this is a quick and easy question. I just can't find th
answer in my searching (probably cause I am not asking the righ
question!!).

Part of one of my macros, formats 8 worksheet tabs (each with
different name) exactly the same. I essentially copy the appropriat
header range from the master sheet containing all the data and the
paste special to each following sheet.

Here is the formatting code:

Sheets("ALL").Select
Range("A3:J3").Select
Selection.Copy

' I repeat this code for each following sheet with each sheet name
Sheets("Contribs").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
SkipBlanks:= _
False, transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths
Operation:=xlNone, _
SkipBlanks:=False, transpose:=False
ActiveWindow.Zoom = 80

Is there an easier way to do this without having to select each shee
and going through this pasting process? I am using the same cells i
every sheet
 
Sub FormatSheets()
Dim wS As Worksheet

Sheets("ALL").Range("A3:J3").Copy
For Each wS In Worksheets

If UCase(wS.Name) <> "ALL" Then
With wS.Range("A3")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
End With
End If

Next
Application.CutCopyMode = False

End Sub
 
Thanks Nigel!

That works great. Much better than what I originally had.

One follow up question, is there a way to incorporate resizing the
worksheet?

In my original coding, I had "ActiveWindow.Zoom = 80". I tried
dropping that into the code you provided and then realized your code is
not actually "selecting" each worksheet, so I don't think
ActiveWindow.Zoom will work.

Any ideas on that problem?

Thanks again for your help!!!
 
Nevermind.

I figured it out. This is what I used....

Sheets("ALL").Range("A3:J3").Copy
For Each wS In Worksheets
wS.Select
ActiveWindow.Zoom = 80
If UCase(wS.Name) <> "ALL" Then
With wS.Range("A3")
PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:=False, transpose:=False
PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone,
SkipBlanks:=False, transpose:=False
End With
End If
Next
Application.CutCopyMode = False

Seems to work without any glitches.

Thanks again for your help Nigel!

Cheers
Celt
 
Glad it works well, I see no problem with it. You might like to add the
final statement to activate the and select a cell on the master sheet
(whatever that might be) with something like

Sheets("ALL").Activate
Range("A1").Select.

Put this after the Application.CutCopyMode = False statement.
 

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

Back
Top