根据向用户显示的表单,我正在处理一个小的sub来删除特定的工作表。用户选择他想要保留在列表框中的工作表。然后代码循环遍历列表框中的所有工作表,并删除未选中的工作表。 但是,当运行表单并单击按钮时,我收到了自动化错误:
执行错误' -2147417848(80010108): 自动化错误 调用的对象已断开连接
Private Sub Button_Export_Click()
Application.DisplayAlerts = False
For i = 0 To PSV_Case_List.listCount - 1
If Not PSV_Case_List.Selected(i) Then
Worksheets(PSV_Case_List.List(i)).Delete
End If
Next i
Application.DisplayAlerts = True
End Sub
按照此消息,Excel冻结,我必须终止该过程。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
当您执行这样的删除操作时,您应该始终以最高索引开始并向下工作,因为一旦删除了工作表(0),工作表(1)就会变为工作表(0),依此类推。所以试试这个:
For i = PSV_Case_List.listCount - 1 to 0 step -1