function - 在 Excel 中设置范围时 VBA 失败

标签 function vba excel range

使用 MSDN 中的示例我正在尝试在 Excel 2007 中设置单元格的值。以下是我采取的步骤:

  • 在 Excel 选项中选择 Enable all Macro'sTrust access to VBA object model .
  • 创建一个新的 Excel 工作簿。
  • 添加一个新的 VBA 模块。
  • 插入以下函数:
    Function MyTest(rg As Range)
        rg.Value = 1
        MyTest = 1234
    End Function
    
  • 添加公式=MyTest(B1)到 A1 的单元格。

  • 当执行 MyTest 的第一行时,调试器 simple 失败。如果没有任何错误,它将停止调试并显示 #VALUE!在 A1 中。 B1 仍然是空的。

    我试过设置.Formula而不是 .Value .我试过使用 ActiveSheetWorksheets["Sheet1"]访问工作表。什么可能是导致此错误的原因?

    最佳答案

    不允许从单元格公式调用的 VBA 函数修改单元格内容。此限制已到位,以便 Excel 可以跟踪依赖项。

    如果您需要修改单元格内容,则必须通过其他一些机制调用您的 VBA,例如用户表单。

    关于function - 在 Excel 中设置范围时 VBA 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6724282/

    相关文章:

    node.js - 如何使用 github 部署 firebase 函数

    python - 如何在python中停止这个while循环

    ms-access - 如何用密码保护复选框?

    vba - 验证列表中的用户输入值

    php - 将数组从函数拆分为变量,PHP

    javascript - jQuery 在点击时调用自定义函数

    vba - 通过分隔符将多列拆分为行

    excel - 将列转换为大写的动态范围

    excel - 保存组合框值

    excel - 将表列表对象单元格设置为工作表值时出现运行时错误 '91'