将“:”更改为“;”时,运行时错误VBA
我试图dynamic地添加使用VBA的Excel工作表中的公式。 事情真的很奇怪。 当通过使用“&”链接string的各种组件来dynamic创build公式时,会给出运行时错误“1004”:应用程序定义的错误或对象定义的错误。
这是工作(但产生错误的公式):
Worksheets("Sheet1").Cells(row, 7).Value = "=BDP(f" & row & ":Security Name)"
这是行不通的(产生上面提到的错误):
Worksheets("Sheet1").Cells(row, 7).Value = "=BDP(f" & row & ";Security Name)"
请注意,唯一的区别是安全名称前面的“:”变成了“;”。
任何想法,为什么这是产生这个错误?
另外,“安全名称”也应该在引号之间,但是当我将双引号引起来,或者使用&Chr(34)时,我又得到同样的错误。
我正在寻找的是一个公式被添加到单元格看起来像这样= BDP(F4:“安全名称”)
感谢您的帮助!
如果你想要一个;
在实际的公式中,你需要使用一个,
你正在使用的string。
另外,如果你在string中写入这个""
,它将导致你的string"
所以这个在你VBA:
.Formula = "=BDP(f" & Row & ",""Security Name"")"
将导致你在这个实际的单元格中:
=BDP(F5;"Security Name")
(对我来说,Row是5)
(你也可以设置.Value
属性,但是因为你正在设置一个公式我build议使用.Formula
)
编辑:
我使用的方法,在评论中提到:
Sub test() BBCode = "XS0357495513 Corp" Sheets(1).Range("A1").Formula = "=BDP(""" & BBCode & """,""Security Name"")" 'Range("A1") is like Cells(1, 1) End Sub