如何修改VBA边框代码以忽略第一个工作表仅处理后续工作表?
修改VBA代码忽略第一个工作表
要实现忽略第一个工作表,只对后续工作表应用边框设置,你只需要在遍历工作表的循环中添加一个判断条件,跳过索引为1的工作表即可。下面是修改后的完整代码:
Sub Borders() Application.ScreenUpdating = False 'Prevents screen refreshing Dim lngLstCol As Long, lngLstRow As Long, ws As Worksheet Dim rngCell As Range, r As Long, c As Long Dim skp As Boolean For Each ws In ActiveWorkbook.Worksheets ' 跳过第一个工作表(索引为1) If ws.Index > 1 Then lngLstRow = ws.UsedRange.Rows.Count lngLstCol = ws.UsedRange.Columns.Count For Each rngCell In ws.Range("A1:A" & lngLstRow) If rngCell.Value <> "" Then r = rngCell.Row c = rngCell.Column With ws.Range(ws.Cells(r, c), ws.Cells(r, lngLstCol)).Borders .LineStyle = xlContinuous 'Setting style of border line .Weight = xlThin 'Setting weight of border line .ColorIndex = xlAutomatic 'Setting colour of border line End With End If Next End If Next Application.ScreenUpdating = True 'Enables screen refreshing End Sub
关键改动说明
- 在
For Each ws In ActiveWorkbook.Worksheets循环内部,新增了If ws.Index > 1 Then判断,只有当工作表的索引大于1时,才执行后续的边框设置逻辑。 - 把原来处理单个工作表的代码全部包裹在这个判断块里,这样第一个工作表就会被直接跳过,不会执行任何边框操作。
内容的提问来源于stack exchange,提问作者Majid
相关产品推荐
相关产品推荐

