Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel应用程序在此工作簿上崩溃。保存-其中此工作簿是外接程序_Vba - Fatal编程技术网

Vba Excel应用程序在此工作簿上崩溃。保存-其中此工作簿是外接程序

Vba Excel应用程序在此工作簿上崩溃。保存-其中此工作簿是外接程序,vba,Vba,我已经构建了一个外接程序,除了代码之外,它还在其工作表上存储一些对外接程序本身起作用的数据 通过用户界面,用户可以决定从加载项工作簿中删除某些工作表,方法是从用户窗体上出现的列表框对象中选择它们的名称,该对象在当前使用的工作簿上调用时显示。因此,我们的想法是: For j = 0 To MyListBox.ListCount - 1 If MyListBox.Selected(j) Then sheetsToDelete.Add ws(j) 'where ws(j) is

我已经构建了一个外接程序,除了代码之外,它还在其工作表上存储一些对外接程序本身起作用的数据

通过用户界面,用户可以决定从加载项工作簿中删除某些工作表,方法是从用户窗体上出现的
列表框
对象中选择它们的名称,该对象在当前使用的工作簿上调用时显示。因此,我们的想法是:

For j = 0 To MyListBox.ListCount - 1
    If MyListBox.Selected(j) Then
        sheetsToDelete.Add ws(j) 'where ws(j) is the sheet with that name
    End If
Next j
上面的代码不是真正的代码,只是一个更好地表达概念的示例。真正的代码运行良好,我已经在调试中进行了测试,但我只是想传达这个概念

完成此操作后,我希望保存更改(即删除图纸后的加载项),到目前为止,我已使用以下工具完成了此操作:

ThisWorkbook.Save
但是,当点击这行代码时,“Excel应用程序不响应,程序将终止”(Excel工作簿完全冻结):

如果工作簿未损坏,我已签入调试,但看起来很好:

。。。这是我的外接程序

。。。它包含了我希望包含的两张纸:

有关于如何调试的提示吗?不幸的是,我不能提供一个完整的可复制的代码片段,我不能…,但如果需要,我可能会提供更多信息。。。有谁遇到过我的一些问题或能给我一个好的提示吗

还有一个案例,这是一个问题。不确定这将如何影响
。保存

ThisWorkbook.IsAddin = False
'Run Code Here
ThisWorkbook.IsAddin = True

@MatteoNNZ如果你不想让他们看到,你就不能关掉屏幕更新吗?你改变了我早晨咖啡的味道。非常感谢,祝你有愉快的一天!修改外接程序文件的内容似乎不是最好的方法。一种解决方法是将这些图纸的
.Visible
属性设置为
xlVeryHidden
,而不是直接删除它们。