【问题标题】:Autorun macro when opening workbook打开工作簿时自动运行宏
【发布时间】:2019-01-18 16:06:27
【问题描述】:

我想在打开工作簿时运行一个名为“Lastrow”的宏,但是在打开工作簿时出现以下错误:

编译错误:未定义子或函数。

Private Sub Workbook_Open()
    Lastrow
End Sub

注意-vba 代码“LastRow”工作正常,没有问题,只是自动运行不工作

【问题讨论】:

  • 您的LastRow 代码放在哪里?常规模块?或工作表模块?可以分享一下代码吗?
  • @ShaiRado 在这种特殊情况下,最好使用Call 来消除歧义。
  • 你拼写正确吗?
  • 已放入工作表模块
  • 而且拼写也正确

标签: excel vba


【解决方案1】:

将您的过程 LastRow 放入 module 而不是 worksheet 并声明它

Public Sub LastRow()

那么你就可以像这样使用它了

Private Sub Workbook_Open()
    LastRow
End Sub

【讨论】:

    【解决方案2】:

    你必须是明确的,例如,如果过程LastRowModule1中,你必须写Module1.LastRow

    【讨论】:

    • 不需要附加模块名称。如果您在不同的模块中有同名的过程,则需要它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 2016-05-28
    • 2018-07-27
    相关资源
    最近更新 更多