使用 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 的第一行时,调试器 simple 失败。如果没有任何错误,它将停止调试并显示
#VALUE!
在 A1 中。 B1 仍然是空的。我试过设置
.Formula
而不是 .Value
.我试过使用 ActiveSheet
和 Worksheets["Sheet1"]
访问工作表。什么可能是导致此错误的原因?
最佳答案
不允许从单元格公式调用的 VBA 函数修改单元格内容。此限制已到位,以便 Excel 可以跟踪依赖项。
如果您需要修改单元格内容,则必须通过其他一些机制调用您的 VBA,例如用户表单。
关于function - 在 Excel 中设置范围时 VBA 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6724282/