【问题标题】:Macro visibility in other excel sheets其他 Excel 工作表中的宏可见性
【发布时间】:2015-01-14 07:29:10
【问题描述】:

我在其中一个 excel 工作簿 (abc.xlsm) 中创建了宏。而且我只希望那个特定的工作簿在视图宏弹出窗口中显示宏。但是当从其他工作簿(xyz.xlsx)查看宏时,我可以查看我在 abc.xlsm 中创建的宏。 我尝试在宏之前使用 private 关键字。但它会隐藏所有工作簿中的宏可见性,包括第一个工作簿(abc.xlsm) 有什么办法可以将宏的可见性限制在创建它的工作簿中吗?

【问题讨论】:

  • 它不是模板。它的宏启用工作簿。模板扩展类似于 xlt
  • 运行宏对话框在应用程序级别运行,所以不,您不能这样做。更重要的是,您为什么要这样做?
  • 我的客户正在处理许多打开的 Excel 表格。当我将与宏相关的工作簿发送给他们时,我想确保他们不会在错误的工作簿中运行代码。既然做不到,也许我必须清楚地告诉他们这件事……因为宏观过程是不可逆的。 :)

标签: vba excel


【解决方案1】:

Excel 宏弹出窗口列出了在当前 Excel 实例中打开的所有工作簿中可用于执行的所有宏。这意味着仅从特定工作簿执行宏的唯一选项是检查 ActiveWorkbook 是否是您希望从中执行宏的工作簿。您可以在子代码顶部使用这一行来完成此操作:

If Not ActiveWorkbook.Name = "abc.xlsm" Then Exit Sub

【讨论】:

    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    相关资源
    最近更新 更多