Excel VBA 循环执行以清除所有工作表
Excel VBA Loop-Implementation to Clear All Sheets
我正在尝试清除工作簿中第 3 行以下的所有 sheet。我是这样完成的:
With Sheets("Wizard Sheets Missing in Import")
.Rows("3:" & .Rows.Count).Delete
End With
With Sheets("Import Sheets Missing in Wizard")
.Rows("3:" & .Rows.Count).Delete
End With
With Sheets("Items Missing from Wizard")
.Rows("3:" & .Rows.Count).Delete
End With
With Sheets("Items Missing from Imports")
.Rows("3:" & .Rows.Count).Delete
End With
但如果可能的话,我想实现一个循环。我试过了,它只清除了其他 sheets 的活动 sheet 和 none,即使它被告知循环遍历 sheets(据我所知我知道):
For Each vWorksheet In ActiveWorkbook.Sheets
With ActiveSheet
Rows("3:" & .Rows.Count).Delete
End With
Next
关于如何为这个过程制作一个更流线型的循环有什么想法吗?
它需要看起来更像这样
For Each vWorksheet In ActiveWorkbook.Worksheets
vWorksheet.Rows("3:" & vWorksheet.Rows.Count).Delete
Next
对不起,我贴错了代码。试试这个。
Sub DeleteRows()
Dim n As Integer
n = ActiveWorkbook.Worksheets.Count
For x = 1 To n
Sheets(x).Rows(3 & ":" & Sheets(x).Rows.Count).Delete
Next
End Sub
Option Explicit
Public Sub ClearAllWorksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.UsedRange.Offset(2).Rows.Delete
Next
End Sub
- 仅清除包含数据的行,不清除
Activate
或 Select
对象
- 仅适用于代码为 运行 的文件 - ThisWorkbook
- 仅适用于 Worksheets - 不包括
- 图表表
- 宏表(Excel 4.0 XLM 文件)
- 对话框表 (Excel 5.0)
我正在尝试清除工作簿中第 3 行以下的所有 sheet。我是这样完成的:
With Sheets("Wizard Sheets Missing in Import")
.Rows("3:" & .Rows.Count).Delete
End With
With Sheets("Import Sheets Missing in Wizard")
.Rows("3:" & .Rows.Count).Delete
End With
With Sheets("Items Missing from Wizard")
.Rows("3:" & .Rows.Count).Delete
End With
With Sheets("Items Missing from Imports")
.Rows("3:" & .Rows.Count).Delete
End With
但如果可能的话,我想实现一个循环。我试过了,它只清除了其他 sheets 的活动 sheet 和 none,即使它被告知循环遍历 sheets(据我所知我知道):
For Each vWorksheet In ActiveWorkbook.Sheets
With ActiveSheet
Rows("3:" & .Rows.Count).Delete
End With
Next
关于如何为这个过程制作一个更流线型的循环有什么想法吗?
它需要看起来更像这样
For Each vWorksheet In ActiveWorkbook.Worksheets
vWorksheet.Rows("3:" & vWorksheet.Rows.Count).Delete
Next
对不起,我贴错了代码。试试这个。
Sub DeleteRows()
Dim n As Integer
n = ActiveWorkbook.Worksheets.Count
For x = 1 To n
Sheets(x).Rows(3 & ":" & Sheets(x).Rows.Count).Delete
Next
End Sub
Option Explicit
Public Sub ClearAllWorksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.UsedRange.Offset(2).Rows.Delete
Next
End Sub
- 仅清除包含数据的行,不清除
Activate
或Select
对象 - 仅适用于代码为 运行 的文件 - ThisWorkbook
- 仅适用于 Worksheets - 不包括
- 图表表
- 宏表(Excel 4.0 XLM 文件)
- 对话框表 (Excel 5.0)