VBA 根据条件删除工作表

VBA delete sheets based on criteria

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

所以我得到 sheet1,例如,"A1" 范围内有一个日期。 现在我希望所有其他 sheets(实际上只是其中的一些,但如果没有解决方案,我也可以接受所有其他人)比较一个值,例如在 Cell "B10" 中,其中包含一个公式,该公式作为输出具有日期。 如果比较后的值落后于 sheet1 中的日期,那么您必须删除 sheet.

谢谢。

您需要这样的东西...只需逐步完成工作簿中的所有工作sheet(向后,因为您要删除 sheet)并针对 [=11= 进行测试],或者您的主要 sheet 所在的任何地方...您没有提供足够的详细信息,但您需要指定 sheet 您的测试对象,否则这将不起作用。

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