VBA Excel-包含日期的单元格返回空值

时间:2019-01-03 11:56:05

标签: excel vba

由于某种原因,我无法运行诸如Datediff (e.g. Range("K2") = DateDiff("yyyy", A2, J2)之类的函数,因为VBA显示“ A2”和“ J” 2为空-但它们不是(它们的格式为日期,即{{1} }。

以前有没有人必须处理过类似的事情?

2 个答案:

答案 0 :(得分:1)

你是说

    Range("K2") = DateDiff("yyyy", Range("A2"), Range("J2"))

以其他方式 Vba将其显示为空,因为它们为变量为空

答案 1 :(得分:0)

您需要在功能中将单元格命名为对象。那就是Range(“ A2”)和Range(“ J2”)。

同样重要的是,告诉函数您需要该对象的值,单元格中真正的值,因此请在每个单元格范围的末尾添加.value(例如Range(“ A2”)。value)

此外,该funciona会返回类似“ yyyy0103”的内容,而不是您期望的“ yyyy / 01/03”。

添加此内容: DateDiff(“ yyyy /”,Range(“ A2”)。value&“ /”,Range(“ J2”)。value)