【发布时间】:2014-11-19 17:12:48
【问题描述】:
我正在尝试使用 VBA 在 excel 中插入一个公式,该公式在 excel 中如下所示:
=BDH(C2,"PX LAST",F2,"","Dir=H","days=w","DTS=H","cols=1;rows=1")
这实际上只代表该公式的第一行,我想将其复制到某一列。因此,我必须使用索引为i 的循环,然后使用单元格符号引用适当的单元格,即C2=Cells(i,3) 和F2=Cells(i,6)。在查看了本网站和其他网站上的一些讨论之后,我知道为了在字符串中创建文字引号,您可以使用双引号 ("")。
formulaString = "=BDH(Cells" & CStr(i) & ",3),""PX LAST"",Cells(" & CStr(i) & ",6),"""",""Dir=H"",""days=w"",""DTS=H"",""cols=1;rows=1"")"
我想在相应行的第 8 列插入这些公式,所以我用
Cells(i,8).Formula = formulaString
但是,当我这样做时,我收到错误“应用程序定义或对象定义错误”。我还看到这可以用代码类似地完成
Cells(i,8).Value = Evaluate(formulaString)
这不会引发错误,但是当它运行我希望公式读取的单元格时#Value。
有人可以帮我找出我做错了什么吗?
【问题讨论】: