使用VBA从工作表中删除VBA代码

我想通过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解决方法)

提前致谢。

发现了这个问题。 我的代码工作正常,只是我testing它的计算机不允许访问VBA项目对象模型(并且在代码中使用On Error Resume Next)

在这种情况下,将不得不编写一个例外。

感谢@mehow @nixda @SiddharthRout和@DaveU的帮助