如果Excel工作簿有很多工作表,其中一些工作表中有宏,我找到确定哪些工作表有宏的唯一方法是在Project Explorer中单击每个工作表( Ctrl + R 。
还有其他办法吗?
答案 0 :(得分: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部分。
答案 1 :(得分:3)
您可以遍历工作表并使用以下语法:
If ActiveWorkbook.VBProject.VBComponents(sheetName).CodeModule.CountOfLines <> 0 Then
sheetName
是表格的名称。
要获得更高级的使用效果,请查看page,其中提供了更多高级示例。