Excel VBA根据标准删除图纸
我想在VBA上创建一个宏,如果一个特定值小于另一个工作表中的另一个值,该宏应该完全删除一个工作表 例如,我得到了sheet1,在范围“A1”中有一个日期。 现在,我希望所有其他工作表(实际上只是其中的一部分,但如果没有解决方案,我也可以接受所有其他工作表)比较一个值,例如在单元格“B10”中,该单元格包含一个公式,作为输出有一个日期。 如果从比较中,该值落后于表1中的日期,则必须删除该表Excel VBA根据标准删除图纸,excel,vba,conditional-statements,delete-file,worksheet,Excel,Vba,Conditional Statements,Delete File,Worksheet,我想在VBA上创建一个宏,如果一个特定值小于另一个工作表中的另一个值,该宏应该完全删除一个工作表 例如,我得到了sheet1,在范围“A1”中有一个日期。 现在,我希望所有其他工作表(实际上只是其中的一部分,但如果没有解决方案,我也可以接受所有其他工作表)比较一个值,例如在单元格“B10”中,该单元格包含一个公式,作为输出有一个日期。 如果从比较中,该值落后于表1中的日期,则必须删除该表 谢谢。你需要这样的东西。。。只需逐步浏览工作簿中的所有工作表(向后,因为您正在删除工作表),然后根据工作表(
谢谢。你需要这样的东西。。。只需逐步浏览工作簿中的所有工作表(向后,因为您正在删除工作表),然后根据
工作表(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
子测试()
Application.DisplayAlerts=False
对于i=ActiveWorkbook.Worksheets.Count到2步骤-1
如果表(i).范围(“B10”).值<表(1).范围(“A1”).值,则
第(i)页。删除
如果结束
接下来我
Application.DisplayAlerts=True
端接头
请尝试自己回答问题,并在遇到问题时提问,提供您编写的代码。这不是一个代码编写服务。它实际上是有效的,但他经常删除所有的工作表。在表1中,所有其他人都必须将他们的数据与之进行比较@D讽刺编辑:我尝试将2025年1月1日(表2)与2020年1月1日(表1)和excel删除进行比较it@Rufyyyyy您的数据格式是什么?这是在假设您的数据是以Date
格式编写的情况下完成的。它是以数据格式编写的,但我总是收到来自excel的消息->“是否要删除此工作表?”单击“是”即删除它是,先生,这就是我的意思。我已通过右键单击选中,选择格式,如下所示date@Rufyyyyy我们可以关闭通知,我编辑了代码。但是我的示例数据是用Date
格式编写的,我已经测试过了,效果很好。您确定您的测试日期在主工作表的单元格A1
和其他工作表的B10
中吗???