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

Create a chart in one keystroke
Select the data and press Alt+F1 to insert a default chart. You can change the default chart to any chart type
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,223,952
Messages
6,175,594
Members
452,656
Latest member
earth

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