查找日期是否存在于单元格范围内 (Excel VBA)
Find if date is present in Range of cells (Excel VBA)
我有一个包含日期的单元格 F2
,格式为自定义日期字段,仅显示日期和月份。
然后我有一个单元格范围 C3;C60
,其中还包含日期并被格式化为显示 dd/mm/yyyy
的欧洲日期字段
我正在写一个 VBA 来检查这些字段,但它不起作用。
在下面的示例中,变量 c
可以是 F5
和 F20
之间的任何单元格。
我得到 RuntimeError 91.
If Worksheets(1).Range("C3", "C60").Find(Worksheets(1).Cells(2, c.Column).Value) = True Then
c.Value = "Whatever"
Else
替补:
Range("C3:C60")
为
Range("C3", "C60")
可能还有其他问题。
.Find()
returns 一个范围,您的 if 语句正在检查它是否是 TRUE
。那会失败的。
Dim rng as Range
Set rng = Worksheets(1).Range("C3:C60").Find(Worksheets(1).Cells(2, c.Column).Value)
if not rng is Nothing then
c.Value = "Whatever"
Else
注意包含 答案
我有一个包含日期的单元格 F2
,格式为自定义日期字段,仅显示日期和月份。
然后我有一个单元格范围 C3;C60
,其中还包含日期并被格式化为显示 dd/mm/yyyy
我正在写一个 VBA 来检查这些字段,但它不起作用。
在下面的示例中,变量 c
可以是 F5
和 F20
之间的任何单元格。
我得到 RuntimeError 91.
If Worksheets(1).Range("C3", "C60").Find(Worksheets(1).Cells(2, c.Column).Value) = True Then
c.Value = "Whatever"
Else
替补:
Range("C3:C60")
为
Range("C3", "C60")
可能还有其他问题。
.Find()
returns 一个范围,您的 if 语句正在检查它是否是 TRUE
。那会失败的。
Dim rng as Range
Set rng = Worksheets(1).Range("C3:C60").Find(Worksheets(1).Cells(2, c.Column).Value)
if not rng is Nothing then
c.Value = "Whatever"
Else
注意包含