【发布时间】:2016-12-11 20:26:01
【问题描述】:
比较两个日期时,我不断收到“运行时错误 '13':类型不匹配”错误。该代码从第二个工作簿中获取一个日期,在这种情况下,我试图将其粘贴到一个单元格中以确保它是一个日期......它是。然后它会尝试将其与当前工作簿上已有的日期进行比较。粘贴的日期和其他日期的格式相同。我不知道为什么它不能比较两个日期!我还尝试将 CDate() 放在每个组件周围,但无济于事。请帮忙。
Sub NewMacro()
Dim CurrentWB As Workbook
Dim ForecastWB As Workbook
Dim strDate As Date
Set CurrentWB = ActiveWorkbook
Application.DisplayAlerts = False
Set ForecastWB = Workbooks.Open("My Other Workbook File Name")
Application.DisplayAlerts = True
strDate = ActiveWorkbook.Worksheets("My Sheet Name").Cells(20, "N").Value
ThisWorkbook.Activate
If Cells(5, 5) = Range("A:A") Then 'TYPE MISMATCH HERE
Set x = Range("A:A").Find(what:=Cells(5, 5), lookat:=xlWhole)
Cells(x, 5) = strDate
End If
End Sub
【问题讨论】:
-
请检查
IsDate()的两个日期是否为真...有可能至少有一个日期被视为字符串...请参阅THIS -
Cells(5, 5) = Range("A:A")不会将单个单元格与整个列进行比较吗?Cells(5, 5) = Range("A1")工作。 -
@DarrenBartrup-Cook 就是这样一个 :) 写下来
-
@DarrenBartrup-Cook 是的!我正在尝试在一系列单元格中查找日期!这不是办法吗?