【发布时间】:2017-06-29 22:20:51
【问题描述】:
在 VBA 方面仍然不是很好......
Sub CompareDates()
Dim dueDate As Date, sht As Worksheet, i As Long
For Each sht In ThisWorkbook.Sheets
For i = 1 To CountMyRows(sht.Name)
dueDate = CDate(sht.Range("E" & i))
If dueDate > Date Then
sht.Range("E" & i).Interior.ColorIndex = 5
End If
Next i
Next sht
End Sub
得到类型不匹配:
dueDate = CDate(sht.Range("E" & i))
我不知道为什么这不起作用我有其他人测试它并且它适用于他们的。
编辑:我已经摆脱了错误但代码不起作用并突出显示所有过期任务...
【问题讨论】:
-
sht.Range("E" & i)的值是多少 -
我感觉特定单元格有一个公式错误,例如
#DIV/0!或#NA或类似的东西 -
@SiddharthRout 嘿!它应该是第 5 列,因为我希望宏在每张纸上搜索 E 列中的每一列
-
我知道你正在遍历 col 5,但是当你得到错误时,调试它并查看
sht.Range("E" & i)的值是什么 -
当我将鼠标悬停在它上面时会显示 c_date= "due date"