【发布时间】:2021-02-11 15:39:38
【问题描述】:
我正在尝试保留第一行并删除/删除名为“Main”的工作表的所有数据。我下面的代码不会从名为“Main”的工作表中删除任何数据。
Sub clean_sheets()
'-------Clear Main Sheet all data will be removed except Header Row-----
With ActiveWorkbook.Worksheets("Main")
Rows("2:" & Rows.Count).ClearContents
End With
'----Delete all existing worksheets after "Main" Worksheet
' and save the active workbook for next run------
Dim xWs As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In Application.ActiveWorkbook.Worksheets
If xWs.Name <> "MacroButtons" And xWs.Name <> "Main" Then
xWs.Delete
End If
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
ActiveWorkbook.Save
End Sub
以上是删除除标题行之外的所有数据,并删除除“主”表之外的任何其他表。
我只想从名为“Main”的工作表中删除除标题行之外的所有数据。
【问题讨论】:
-
'With x' 提供了一个快捷限定符。此快捷方式限定符是前导“.”。因此,如果您需要 Rows 语句来引用 ActiveWorkbook.Worksheets("Main") 中的行,则必须在其前面加上前导 '.'给.Rows......