使用MSDN中的示例我正在尝试在Excel 2007中设置单元格的值。以下是我采取的步骤:
Enable all Macro's
和Trust access to VBA object model
。插入以下功能:
Function MyTest(rg As Range)
rg.Value = 1
MyTest = 1234
End Function
将公式=MyTest(B1)
添加到A1的单元格中。
执行MyTest的第一行时,调试器简单失败。没有任何错误,它会停止调试并在A1中显示#VALUE!
。 B1仍然是空的。
我尝试设置.Formula
而不是.Value
。我尝试使用ActiveSheet
和Worksheets["Sheet1"]
访问工作表。可能是导致此错误的原因是什么?
答案 0 :(得分:6)
不允许从单元格公式调用的VBA函数修改单元格内容。此限制已就绪,以便Excel可以跟踪依赖关系。
如果您需要修改单元格内容,则必须通过其他一些机制调用您的VBA,例如:用户表单。