我正在创建一个 Excel 来监控维护进度。我想隐藏基于单元格值(日期)超过 45 天的行。
我已经在S列上设置了日期,但它运行时错误13:类型不匹配。我什至尝试将格式更改为美国日期mmddyyyy而不是ddmmyyyy,但代码仍然只能工作到第S18行。谁能指出发生了什么事吗?
Sub Hidedatemorethan45days()
Dim cell As Range
For Each cell In Range("S6:S67")
If cell.Value - Date >= 45 Then
cell.EntireRow.Hidden = True
Else
cell.EntireRow.Hidden = False
End If
Next cell
End Sub
S栏有一个从不同工作表引用的公式如下
在此输入图片描述
=IF($C$3="QC67",'Master records List'!BL6,IF($C$3="QC66",'Master records List'!BJ6,IF($C$3="QC65",'Master records List'!BH6,IF($C$3="QC64",'Master records List'!BF6,IF($C$3="QC63",'Master records List'!BD6,IF($C$3="QC62",'Master records List'!BB6,IF($C$3="QC61",'Master records List'!AZ6,"請輸入機號")))))))
在此输入图片描述
任何人都可以指出我的代码发生了什么并能够修复它
找到不起作用的单元格
Sub Hidedatemorethan45days()
Dim cell As Range, check As Boolean
For Each cell In Range("S6:S67")
check = False
If IsNumeric(cell.Value2) Then
If IsDate(cell.Value) Then
check = True
If cell.Value2 - Date >= 45 Then
cell.EntireRow.Hidden = True
Else
cell.EntireRow.Hidden = False
End If
End If
End If
If Not check Then Debug.Print cell.Address ' show cells which are not date in the debug window
Next cell
End Sub