查找单元格区域中是否存在日期(Excel VBA)

时间:2015-05-28 14:01:29

标签: excel vba excel-vba find

我有一个包含日期的单元格F2,格式为自定义日期字段,仅显示日期和月份。

然后我有一个单元格范围C3;C60,其中也包含日期,格式为欧洲日期字段,显示dd/mm/yyyy

我正在编写一个VBA来检查这些字段,但它无法正常工作。 在下面的示例中,变量c可以是F5F20之间的任何单元格。

我得到RuntimeError 91.

If Worksheets(1).Range("C3", "C60").Find(Worksheets(1).Cells(2, c.Column).Value) = True Then
        c.Value = "Whatever"        
Else

2 个答案:

答案 0 :(得分:2)

替换:

Range("C3:C60")

Range("C3", "C60")

可能还有其他问题。

答案 1 :(得分:2)

.Find()返回一个范围,您的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

请注意包含Gary's回答