VBA宏在yearfrac函数中使用变量和单元格引用

时间:2018-01-13 18:47:42

标签: excel-vba vba excel

我正在尝试使用变量和单元格引用来计算日期之间的年份,但到目前为止,我尝试的所有内容都返回了无效的参数(或等效的)错误。基本前提是细胞(“G2”)。公式=“= YEARFRAC(F2,dt)”。变量dt等于上个月的最后一天(我知道这有效,因为我已经使用MsgBox进行了测试,所以假设问题是语法)。单元格F2包含形式为201-Jan-2018的日期。有人可以建议正确的语法吗?感谢。

1 个答案:

答案 0 :(得分:1)

您使用VBA将此公式作为字符串插入单元格。字符串" dt"因此将逐字插入(而不是变量)。

如果您想要插入当时存储在VBA中的日期值dt,您将不得不使用:

Dim dtstr as string
dtstr = Format(dt, "yyyy-mm-dd")
Range("G2").Formula = "=YEARFRAC(F2, DATEVALUE(""" & dtstr & """))"

请注意,我已将dt转换为字符串值,以便以标准格式插入单元格公式。