EXCEL中的宏如何禁止在其他工作薄中运行?

我制作了一个宏。可是当打开含有该宏的EXCEL后,在不关闭该EXCEL的情况下再打开其他的工作薄时,其他的工作薄也会自动运行该宏。该如何禁止在其他工作薄中运行该宏?

一般我们用宏就是为了减轻工作量,并不作表限制,相反一定要具有很强的通用性和跨平台移植.因此语言本身也是这样设置的,如果是具体的指定就要添加许多限定条件.
1.能自运行的宏,可以通过私有化让它只对本工作表工作,例子如下
Private Sub auto_open()
2.另外一种情况是,这个宏也可以用到其他工作薄,可以通过象ThisWorkbook,Workbooks(1)等方式指定具体的工作薄
3.如果只对某个表,可能将宏放到属性后面去,而不是作为单独的模块,例如
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub追问

你有QQ吗?我传给你,请你指教指教

追答

[email protected]

[email protected]]
将下面语言放入
Private Sub 个税计算()
If ActiveWorkbook.Name ThisWorkbook.Name Then Exit Sub
即可

追问

好像不行呀。你能把处理好的EXCEL发回给我吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-18
将VBA代码放在要使用该宏的工作簿的模块内。其它工作簿就不会运行该宏了。
第2个回答  2014-09-02
以外的夜
我将给她我的负担
洪水会带哈哈走它们。
而有如光亮
在黑暗中解脱,
陆地从海中解脱一样,
我将从海中解脱
海即是夜。本回答被提问者采纳
第3个回答  2013-11-18
具体问题具体对待。
要是楼主能够将你的宏代码上传的话,或许能够帮你分析分析!追问

能QQ联系吗?我发现,如果是双击其他工作薄打开就会自动运行该宏,如果通过打开空白的EXCEL然后通过工具栏的打开图标打开,就不会自动运行该宏。我需要的是:双击工作薄也不会自动运行该宏。

追答

我没有 QQ 号。
楼主只需要将你的宏代码复制过来,我们就可以帮你分析了。当然,如果你能将整个工作簿作为附件传上来的话会更有助于分析问题。

相似回答