Excel VBA循环执行清除所有表格

我正在尝试清除第3行中的工作簿中的所有工作表。 我已经完成了这样的事情:

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 

但如果可能的话,想要实现一个循环。 我试过这个,它只清除活动表单和其他表单,尽pipe它被告知循环表单(据我所知):

 For Each vWorksheet In ActiveWorkbook.Sheets With ActiveSheet Rows("3:" & .Rows.Count).Delete End With Next 

任何想法如何为这个过程做更多的stream水线循环?

它需要看起来更像这样

 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 

  • 只清除包含数据的行,不ActivateSelect对象
  • 仅适用于运行代码的文件 – ThisWorkbook
  • 仅适用于工作表 – 不包括
    • 图表表
    • macros表(Excel 4.0 XLM文件)
    • 对话框(Excel 5.0)