首页 > 解决方案 > 如何将日期作为变量放入 VBA 的公式中?

问题描述

在代码中,日期是 100% 正确的。当它进入表格时,它会出现“1/0/1900”。

在 VBA 中使用公式似乎是一个问题。

TestDate = DateAdd("m", 1, "9/1/2018")
ActiveCell = TestDate 'output: 10/1/2018
ActiveCell.Offset(1).FormulaR1C1 = "=" & TestDate & "" 'output: 1/0/1900
ActiveCell.Offset(2).Formula = "=" & TestDate & "" 'output: 1/0/1900

标签: excelvbaformula

解决方案


引号通常是公式中的一个痛点。我不知道您的目标是什么,但这些版本有效:

    ActiveCell.Offset(1).FormulaR1C1 = "=""" & TestDate & """" 'output: ="10/1/2018"
    ActiveCell.Offset(2).Formula = "=""" & TestDate & """" 'output: ="10/1/2018"
    ActiveCell.Offset(3).FormulaR1C1 = TestDate 'output: 10/1/2018
    ActiveCell.Offset(4).Formula = TestDate 'output: 10/1/2018

这是官方帮助,字符串表达式中的引号


推荐阅读