设置要隐藏的工作表。代码不起作用

时间:2014-03-06 23:45:22

标签: excel vba excel-vba hide visible

我在工作簿中有以下代码。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim ws As Worksheet

For Each ws In Worksheets
    If ws.Name <> "Main Page" Then
       ws.Visible = xlSheetHidden
    End If
Next ws

ThisWorkbook.Save

End Sub

但是当工作簿是下一个打开的页面时,最后打开的页面仍然是打开的。我没有任何其他宏或vba脚本将页面设置为未被隐藏,我只是手动测试它。

没有出现错误,代码正确符合并运行。我甚至用断点检查循环,它确实正确地遍历每个工作表。

任何人都可以看到可能出现的问题吗?我错过了一个重要的关键词还是什么?它让我疯狂,比试图追踪更糟糕;在c#

询问您认为有帮助的任何问题。

马特

2 个答案:

答案 0 :(得分:0)

你应该尝试像

这样的东西
ws.Visible = xlSheetVeryHidden

答案 1 :(得分:0)

检查工作簿是否受保护。如果受保护,则必须先取消保护工作簿。