根据条件语句删除工作表

时间:2018-05-22 18:48:05

标签: excel excel-vba vba

我在excel文件中运行一个宏,用于操作不同的文件。打开文件后,我想滚动浏览每个工作表并删除一个工作表,如果命名为" For Export"以下剪辑在某一点上起作用,不确定发生了什么变化。我现在得到一个"对象需要"工作表上的错误删除行。

For Each S In ThisWorkbook.Sheets
MsgBox (S.Name)
    If S.Name = "For Export" Then
    Application.DisplayAlerts = False
    Workbook.Worksheets(S.Name).Delete
    End If
Next S

4 个答案:

答案 0 :(得分:1)

如果您更改" Workbook.Worksheets(S.Name)。删除"到" S.Delete"它应该删除它。

答案 1 :(得分:1)

尝试,

For Each S In ThisWorkbook.Sheets
    MsgBox (S.Name)
    If S.Name = "For Export" Then
        Application.DisplayAlerts = False
        S.Delete
        Application.DisplayAlerts = true
        exit for
    End If
Next S

答案 2 :(得分:0)

这很有效,谢谢。

For Each S In ActiveWorkbook.Sheets
    If S.Name = "For Export" Then
    Application.DisplayAlerts = False
    S.Delete
    End If
Next S

答案 3 :(得分:-1)

将您的突破线更改为: ThisWorkbook.Worksheets(S.Name).Delete