工作表的方法可见失败,但是代码成功运行

use*_*776 4 excel vba excel-vba

下一行:

ThisWorkbook.Sheets(vSheets(i, 1)).Visible = xlSheetVisible
Run Code Online (Sandbox Code Playgroud)

产生错误:

Run-time error '-2147417848 (80010108)':

Method 'Visible' of object '_Worksheet' failed
Run Code Online (Sandbox Code Playgroud)

但是,如果我在调试器中单击播放,则执行将毫无问题。因此,该行使我的代码进入调试器。但是如果我单击播放,它将继续。

为什么?

EDIT1:这是一个屏幕截图,您可以在其中看到调试器已停止(带有上面编写的错误代码),但您也可以在立即窗口中看到Visible属性存在。注意自从我最初发布问题以来,我已经对代码进行了一些更改以尝试解决该问题,但是我有相同的错误

EDIT2:我尝试将wks设置为Variant而不是object,将设置设置wks.Visible=Truewks.visible = xlSheetVisible。两项更改均无济于事。我仍然收到相同的错误:

在此处输入图片说明

小智 5

在几周后代码无忧后,我发现了类似的问题。最终发现,我以某种方式设置了工作簿保护(而不是预期的工作表保护)。这样可以防止通过普通用户界面执行简单的表单取消隐藏操作,而没有暗示工作簿保护已设置为防止结构更改的事实!