VBA根据标准删除工作表

时间:2018-03-27 12:19:28

标签: excel vba conditional-statements delete-file worksheet

我想在VBA上创建一个宏,如果特定值小于另一个工作表中的另一个,则应该完全删除工作表。

所以我得到了sheet1,例如,在范围“A1”中有一个日期。 现在我希望所有其他表(实际上只是其中一些,但我也可以接受所有其他表,如果没有解决方案)比较一个值,例如在单元格“B10”中,包含一个公式as输出有一个日期。 如果从比较中,该值在sheet1中的日期后面,那么您必须删除该表。

谢谢。

1 个答案:

答案 0 :(得分:0)

你需要这样的东西......只需逐步浏览工作簿中的所有工作表(向后,因为你要删除工作表)并对Sheet(1)进行测试,或者在你的主要工作表的任何地方进行测试......你没有没有提供足够的细节,但是您需要指定您的测试哪个工作表,否则这将无效。

Sub Test()

Application.DisplayAlerts = False

For i = ActiveWorkbook.Worksheets.Count To 2 Step -1
    If Sheets(i).Range("B10").Value < Sheets(1).Range("A1").Value Then
        Sheets(i).Delete
    End If
Next i

Application.DisplayAlerts = True

End Sub