Excel ActiveCell.formular+;一串

Excel ActiveCell.formular+;一串,excel,vba,Excel,Vba,我在一个字符串中有一个动态变量,由for通过ODBC连接装入,但当我试图将其作为一个公式时,它失败了 VariableString = "Informe - "& TEXT(C9;"aaaa/mm/dd") &" - "& TEXT(G9;"aaaa/mm/dd") ActiveCell.Formula = "=" & VariableString 你怎么能让它工作呢 谢谢。如果您试图从该字符串创建引用,您可以使用: ActiveCell.Formula =

我在一个字符串中有一个动态变量,由for通过ODBC连接装入,但当我试图将其作为一个公式时,它失败了

VariableString = "Informe - "& TEXT(C9;"aaaa/mm/dd") &" - "& TEXT(G9;"aaaa/mm/dd")
ActiveCell.Formula = "=" & VariableString 
你怎么能让它工作呢


谢谢。

如果您试图从该字符串创建引用,您可以使用:

ActiveCell.Formula = "=INDIRECT(" & VariableString & ")"

我认为活动单元格中需要的公式是
=“Informe-”和TEXT(C9;“aaaa/mm/dd”)和“-”和TEXT(G9;“aaaa/mm/dd”)

这将显示如下内容:
Informe-2017/01/01-2017/02/01

目前您的代码认为C9和G9是VBA变量,而不是单元格引用,因为没有将引号加倍

使用:

VariableString = "=""Informe - "" & Text(R9C3,""yyyy/mm/dd"") & "" - "" & Text(R9C7,""yyyy/mm/dd"")"
ActiveCell.FormulaR1C1Local = VariableString
我已将您的单元格引用更新为R1C1样式,因为我发现它们更易于在VBA中编写


编辑:您可能需要将
更新为
yyyy
aaaa
。不知道
FormulaR1C1Local
是否将它们更改为适合您的区域设置的正确格式。

您希望ActiveCell中包含什么公式?如果是,请不要更改日期的格式。我很抱歉。他用公式1C1修改了公式1C1,结果正确。非常感谢你。