满足特定条件时删除工作表

问题描述

我有一个文件 A.xlsx,其中包含具有多个工作表的时间序列数据。 D列表示年,E列表示月。年和月都是数字。我写了一个代码删除任何在 2020.9(九月)之前有数据的工作表。但是,结果还包含一些在此时间点之前具有数据的工作表。有没有关于如何改进代码的建议?

input("Press Enter to continue...")

解决方法

您当前的代码只会删除同时满足两个条件的那些工作表:(1) 年份低于 2020 并且 (2) 月份低于 9。这种组合允许所有 9 月至 12 月无论哪一年都可以通过。

你应该更换

If sh.Range("D1").End(xlDown) < 2020 And sh.Range("E1").End(xlDown) < 9 Then  

类似的东西

If sh.Range("D1").End(xlDown) < 2020 _
   Or (sh.Range("D1").End(xlDown) = 2020 And sh.Range("E1").End(xlDown) < 9) Then

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...