我想通过VBA删除工作表中包含的VBA代码。目前,我有一个代码将表单复制到新工作簿并从中删除所有图像。但是,这些图像设置为在代码中的Worksheet_Activate上执行操作,然后每当我轻弹到那个没有图像的工作表时就会导致错误。
我知道我可以使用以下内容删除模块等:
With ActiveWorkbook.VBProject
For x = .VBComponents.Count To 1 Step -1
.VBComponents.Remove .VBComponents(x)
Next x
For x = .VBComponents.Count To 1 Step -1
.VBComponents(x).CodeModule.DeleteLines _
1, .VBComponents(x).CodeModule.CountOfLines
Next x
End With
但是这不会从表格(或工作簿)中删除。如果可能的话,也很有趣。
代码本身需要对Excel版本2003到2013有效(因此无法使用另存为xlsx解决方法)
提前致谢。
本
答案 0 :(得分:0)
发现了这个问题。我的代码运行正常,只是我测试它的计算机不允许访问VBA项目对象模型(并且在代码中使用On Error Resume Next运行它)
在这种情况下,必须编写一个例外来解决这个问题。
感谢@mehow @nixda @SiddharthRout和@DaveU的帮助
本