将":"更改为";"时出现运行时错误 VBA



我试图使用VBA在Excel工作表中动态添加公式。发生了一件非常奇怪的事情。通过使用"&"将字符串的各个组件链接在一起动态创建公式时,它会给出运行时错误"1004":应用程序定义或对象定义的错误。

这是有效的(但产生错误的公式(:

Worksheets("Sheet1").Cells(row, 7).Value = "=BDP(f" & row & ":Security Name)"

这是不起作用的(产生上述错误(:

Worksheets("Sheet1").Cells(row, 7).Value = "=BDP(f" & row & ";Security Name)"

请注意,唯一的区别是安全名称前面的":"变成了";"。

知道为什么会产生此错误吗?

此外,"Security Name"也应该在引号之间,但是当我将引号加倍或使用 & Chr(34( 时,我再次收到相同的错误。

我正在寻找的是一个要添加到单元格中的公式,如下所示 =BDP(F4:"安全名称"(

感谢您的帮助!

如果你想在实际公式中有一个;,你需要在你正在使用的字符串中使用一个,

此外,如果您在字符串中写入此"",则会导致字符串"


所以这个在你的 VBA 中:

.Formula = "=BDP(f" & Row & ",""Security Name"")"

将导致您的实际单元格中出现这种情况:

=BDP(F5;"Security Name")(对我来说,行是5(


(您也可以改为设置.Value属性,但由于您正在设置公式,我建议使用.Formula(


编辑:

我使用的方法,在评论中提到:

Sub test()
BBCode = "XS0357495513 Corp"
Sheets(1).Range("A1").Formula = "=BDP(""" & BBCode & """,""Security Name"")"
'Range("A1") is like Cells(1, 1)
End Sub

最新更新