我有一个用于跟踪备份成功的 Excel 工作簿。我们有许多表,第一列中有日期,还有宏来根据日期是否过去进行计算。(宏要么隐藏或显示适当的行。)
这一直工作到昨天。我假设是因为宏正在进行字符串比较,而不是日期比较。(当被视为字符串时,“01/01/2013”小于“12/31/2012”。)
是否有一种本地方法来比较 VBA 中的日期,或者我是否需要先将日期转换为“yyyy/mm/dd”(如何做会很好)。
A2 是我们开始使用这个新版本电子表格的第一个日期的单元格,A454 是我将电子表格扩展到的最后一个日期,对应于今年年底。
Sub ShowAll()
Dim cell As Range
For Each cell In Range("A2:A454")
cell.EntireRow.Hidden = False
Next
End Sub
Sub RevealPast()
Dim cell As Range
For Each cell In Range("A2:A454")
If cell.Value < Date Then
cell.EntireRow.Hidden = False
End If
Next
End Sub
Sub HideFuture()
Dim cell As Range
For Each cell In Range("A2:A454")
If cell.Value >= Date Then
cell.EntireRow.Hidden = True
End If
Next
End Sub