Excel VBA“公式”函数
Posted
技术标签:
【中文标题】Excel VBA“公式”函数【英文标题】:Excel VBA "formula" function 【发布时间】:2014-06-19 20:07:47 【问题描述】:Excel VBA 公式函数有问题。我希望我的 VBA 子程序在单元格中生成以下公式:
=VLOOKUP(C5;data!J6:K611;2;TRUE)
为此,我使用了以下 VBA 行:
Sheets("test").Cells(1, 1).Formula = "=VLOOKUP(C5;data!J6:K611;2;TRUE)"
这会导致错误:“运行时错误 1004:应用程序定义或对象定义错误”
如果我使用以下语句,然后在公式前面手动添加“=”,则函数运行良好:
Sheets("test").Cells(1, 1).Value = "VLOOKUP(C5;data!J6:K611;2;TRUE)"
我做错了什么?
【问题讨论】:
原则上,这应该可以正常工作。要获得更多信息,请在电子表格中手动输入公式,并在即时窗口中调查属性Formula
的值。或许你会发现其中的不同。
【参考方案1】:
我认为分隔符的转换发生在电子表格而不是 VBA 中 - 您需要 ,
而不是 ;
。
请尝试:
Sheets("test").Cells(1, 1) = "=VLOOKUP(C5,data!J6:K611,2,1)"
【讨论】:
这确实解决了这个问题。所以一般来说,在 VBA 中,函数的所有参数都应该用逗号分隔。仅当使用 VBA 将函数放置在 Excel 单元格中时,这些逗号才会由 Excel 转换为“;”。这是正确的吗?以上是关于Excel VBA“公式”函数的主要内容,如果未能解决你的问题,请参考以下文章