0

我试图保留第一行并删除/删除名为“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”的工作表中删除除标题行之外的所有数据。

主要 Excel 数据
主表excel

它应该删除除第 1 行标题行之外的所有数据并调整工作表大小。
期望的输出

4

1 回答 1

1

尝试一下。

Sub test1()
Sheets("Sheet1").Rows("2:" & Sheets("Sheet1").Rows.Count).ClearContents
End Sub


Sub test2()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In Worksheets
    If ws.Name <> "Sheet1" Then ws.Delete
Next ws
Application.DisplayAlerts = True
End Sub

试试这个

Sub test1()
    Application.DisplayAlerts = FALSE
    Sheets("Sheet1").Rows("2:" & Sheets("Sheet1").Rows.Count).ClearContents
    
    Dim ws          As Worksheet
    
    For Each ws In Worksheets
        If ws.Name <> "Sheet1" Then ws.Delete
    Next ws
    Sheet1.Columns.AutoFit
    ActiveWorkbook.Save
    Application.DisplayAlerts = TRUE
    
End Sub
于 2021-02-11T16:59:32.330 回答