Exclude Sheets from Macro

L

Lambtwo

I want to exclude the last 3 worksheets from the following macro. Can you
please show how the code should be adjusted (and cleaned up). Many thanks.

Sub Sheetsless3()
Dim wSht As Worksheet
Dim myRng As Range
Dim allwShts As Sheets
Set allwShts = Worksheets
For Each wSht In allwShts
wSht.Columns(1).ColumnWidth = 51.57
wSht.Columns(2).ColumnWidth = 8
Set myRng = wSht.Range("C4:N4")
With myRng
.HorizontalAlignment = xlRight
.VerticalAlignment = xlTop
End With
Next wSht
End Sub
 
R

Ron de Bruin

Try this

Dim a As Integer
For a = 1 To ThisWorkbook.Sheets.Count - 3
MsgBox Sheets(a).Name
Next a
 
C

crferguson

Sheets(1).Select

Dim a As Integer
For a = 1 To (ActiveWorkbook.Sheets.Count - 3)
With ActiveSheet
.Columns(1).ColumnWidth = 51.57
.Columns(2).ColumnWidth = 8
.Range("C4:N4").HorizontalAlignment = xlRight
.Range("C4:N4").VerticalAlignment = xlTop
End With
ActiveSheet.Next.Select
Next a
 
L

Lambtwo

When I copied your code in following the Sub line, it still goes through all
worksheets.

Could you show where each line of your code should be placed?

Thanks
 
R

Ron de Bruin

Use this

Sub Sheetsless3()
Dim a As Integer
For a = 1 To ThisWorkbook.Sheets.Count - 3
Sheets(a).Columns(1).ColumnWidth = 51.57
Sheets(a).Columns(2).ColumnWidth = 8
With Sheets(a).Range("C4:N4")
.HorizontalAlignment = xlRight
.VerticalAlignment = xlTop
End With
Next a
End Sub
 
C

crferguson

That's odd about it going through all sheets. I just placed the code
in a Module exactly as it's shown above. Like this:

Sub FormatSheets()
Sheets(1).Select

Dim a As Integer
For a = 1 To (ActiveWorkbook.Sheets.Count - 3)
With ActiveSheet
.Columns(1).ColumnWidth = 51.57
.Columns(2).ColumnWidth = 8
.Range("C4:N4").HorizontalAlignment = xlRight
.Range("C4:N4").VerticalAlignment = xlTop
End With
ActiveSheet.Next.Select
Next a

End Sub

It should start by selecting the first sheet regardless of name, and
loop through until it gets to the third to the last sheet.
 

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