1

我尝试此代码,但显示错误消息“类型不匹配”。

If year(Sheets("Master-Deal").Cells(i, 9).Value) = 2012  Then

    result'''''''

End If
4

2 回答 2

1

确保目标单元格中​​的值不是无效日期,您可以使用函数检查它是否为日期IsDate()

If IsDate(Sheets("Master-Deal").Cells(i, 9).Value) Then
    If Year(Sheets("Master-Deal").Cells(i, 9).Value) = 2012 Then
        ' do stuff
    End If
Else
    ' Complain about invalid date?
End If
于 2013-07-19T09:47:07.773 回答
0

Excel 返回的值是对象类型。如果excel单元格是一个日期,你可以试试这个:

If Year(CType(Sheets("Master-Deal").Cells(i, 9).Value, Date)) = 2012 Then ...
于 2013-07-19T09:46:38.510 回答