Apply formatting to all sheets except the last sheet.

Harshil Mehta

Board Regular
Joined
May 14, 2020
Messages
85
Office Version
  1. 2013
Platform
  1. Windows
Expectation: Apply formatting to all sheets in one go.

Problem: The Below code applies borders to the active sheet only instead of all the sheets (Except DASHBOARD sheet). I dont understand where I am going wrong.


VBA Code:
Sub Format_all_sheets()

Dim sht As Object
Dim lcol, lrow As Long


For Each sht In Sheets
If sht.Name <> "Dashboard" Then
                   
With sht

lcol = Cells(10, Columns.Count).End(xlToLeft).Column
lrow = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row


With Range(Cells(10, 2), Cells(lrow, lcol))
    .Borders.LineStyle = xlcontinous
    .Borders.Color = vbBlack
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
End With


End With

End If

Next

End Sub
 
Last edited by a moderator:

Excel Facts

What is =ROMAN(40) in Excel?
The Roman numeral for 40 is XL. Bill "MrExcel" Jelen's 40th book was called MrExcel XL.
When using a with statement anything inside it that refers to the with must be preceded by a full stop like
VBA Code:
Sub Format_all_sheets()

Dim sht As Object
Dim lcol, lrow As Long


For Each sht In Sheets
If sht.Name <> "Dashboard" Then
                   
With sht

lcol = .Cells(10, .Columns.Count).End(xlToLeft).Column
lrow = .Cells.Find(What:="*", _
                    After:=.Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row


With .Range(.Cells(10, 2), .Cells(lrow, lcol))
    .Borders.LineStyle = xlcontinous
    .Borders.Color = vbBlack
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
End With


End With

End If

Next

End Sub
 
Upvote 0
When using a with statement anything inside it that refers to the with must be preceded by a full stop like
VBA Code:
Sub Format_all_sheets()

Dim sht As Object
Dim lcol, lrow As Long


For Each sht In Sheets
If sht.Name <> "Dashboard" Then
                  
With sht

lcol = .Cells(10, .Columns.Count).End(xlToLeft).Column
lrow = .Cells.Find(What:="*", _
                    After:=.Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row


With .Range(.Cells(10, 2), .Cells(lrow, lcol))
    .Borders.LineStyle = xlcontinous
    .Borders.Color = vbBlack
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
End With


End With

End If

Next

End Sub
Thank you for you guidance.
 
Upvote 0
You're welcome & thanks for the feedback.
 
Upvote 0

Forum statistics

Threads
1,214,987
Messages
6,122,614
Members
449,091
Latest member
gaurav_7829

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top