在Excel中设置范围时,VBA失败
使用来自MSDN的示例,我试图在Excel 2007中设置一个单元格的值。下面是我采取的步骤:
- 在Excel选项中,select“
Enable all Macro's
和“Trust access to VBA object model
。 - 创build一个新的Excel工作簿。
- 添加一个新的VBA模块。
-
插入以下function:
Function MyTest(rg As Range) rg.Value = 1 MyTest = 1234 End Function
-
将公式
=MyTest(B1)
到A1的单元格中。
当MyTest的第一行被执行时,debugging器简单的失败。 没有任何错误,它会停止debugging并显示#VALUE!
在A1。 B1保持空着。
我试过设置.Formula
而不是.Value
。 我试过使用ActiveSheet
和Worksheets["Sheet1"]
来访问Worksheets。 什么可能是这个错误的原因?
从单元格公式调用的VBA函数不允许修改单元格内容。 这个限制是适当的,以便Excel可以跟踪依赖关系。
如果您需要修改单元格内容,则必须通过其他一些机制调用VBA,例如用户表单。