如何隐藏excel文件中未填写的工作表

时间:2017-01-21 16:41:43

标签: vba

我有一个excel,在打开文档时会隐藏某些纸张。所以喜欢

Private Sub Workbook_Open()

    Worksheets("screen_2").Visible = xlHidden
    Worksheets("screen_3").Visible = xlHidden


end sub

现在我知道有人填写了表格" screen_2"或" screen_3"。现在当有人填写screen_3工作表的screen_2时,关闭文档并重新打开excel工作表" screen_2"和" screen_3"不可见。

我想要实现的是,第一次打开excel文档时,两张工作表都应该被隐藏,但是当你填写两张工作表中的一张时,重新打开excel文件时不应该隐藏特定工作表。

因此,当我打开Excel工作表并填写screen_2时,保存,关闭重新打开文件" screen_2"工作表应该是可见的(并且屏幕_3隐藏),当我打开excel文档并填写screen_3时,保存,关闭重新打开文件" screen_3"工作表应该是可见的(并且屏幕_2隐藏)

关于如何让这个工作的任何想法?

1 个答案:

答案 0 :(得分:2)

一旦你完成了如何填写隐藏的工作表,那么你可以使用:

Private Sub Workbook_Open()
    CheckIfHideSheet Worksheets("screen_2")
    CheckIfHideSheet Worksheets("screen_3")
End Sub

Sub CheckIfHideSheet(sht As Worksheet)
    With sht
        If .UsedRange.Address = "$A$1" And IsEmpty(.Cells(1, 1)) Then .Visible = xlHidden
    End With
End Sub