如何从单元格中写入日期访问年份,vba excel

时间:2013-07-19 09:39:17

标签: vb.net vba

我尝试使用此代码,但出现错误消息" Type Mismatch"显示。

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

    result'''''''

End If

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

Excel返回的值是object类型。如果excel单元格是日期,您可以尝试:

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