如何快速确定哪些工作表在Excel工作簿中有宏?

Ale*_*der 8 excel vba excel-vba

如果Excel工作簿有很多工作表,其中一些工作表中有宏,我找到确定哪些工作表有宏的唯一方法是在Project Explorer中单击每个工作表(Ctrl+R在VBA中).

有没有其他方法可以做到这一点?

Sid*_*out 11

我最近在MSDN上回答了一个问题,并最终写了一篇关于它的博客文章.

主题:检查Excel文件是否具有宏

链接:http://www.siddharthrout.com/2012/04/12/check-if-an-excel-file-has-a-macro/

然后.VBComponents.Item(i).Name,您可以使用.VBComponents.Item(i).Type以检查哪些" 表格 "具有" ".

编辑

从技术上讲,每个都是一段代码,但并不是每一段代码都是宏.因此,如果您只是检查宏,那么请查看博客文章的第1部分,如果您要检查任何代码,请查看博客文章的第2部分.


ass*_*ias 3

您可以循环遍历工作表并使用以下语法:

If ActiveWorkbook.VBProject.VBComponents(sheetName).CodeModule.CountOfLines <> 0 Then
Run Code Online (Sandbox Code Playgroud)

sheetName是工作表的名称。

对于更高级的使用,您应该查看此页面,其中提供了更高级的示例。