在另一张表中显示隐藏列

时间:2015-08-20 10:31:02

标签: vba excel-vba excel

我无法找到如何显示"另一张VBA中的隐藏列。我正在研究VBA,我希望每个案例都有一个隐藏/取消隐藏代码,但是这个代码丢失了。有什么建议吗?

我的(更新的)代码在这里:

Private Sub CommandButton1_Click()

    'To Hide Sheet 2
    Worksheets("Sheet2").Visible = False

    'To Hide Rows 22 to 25
    Rows("22:25").EntireRow.Hidden = True

    'To Hide Columns E to G
    Columns(":G").EntireColumn.Hidden = True

    'More specific hidding (inside a different sheet)
    Worksheets("Sheet3").Columns("A:G").EntireColumn.Hidden = True

End Sub

Public Sub UnHideAll()

    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        ws.Visible = xlSheetVisible
        Rows.Hidden = False
        Columns.Hidden = False
    Next ws

End Sub

Private Sub CommandButton2_Click()
    UnHideAll
End Sub

1 个答案:

答案 0 :(得分:2)

尝试

Sub UnHideAll()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        ws.Visible = xlSheetVisible
        ws.Rows.Hidden = False
        ws.Columns.Hidden = False
    Next ws
End Sub

代码的要点是,如果您希望它们引用活动工作表以外的任何内容,则需要通过工作表对RowsColumns进行限定。通过ws.对它们进行前缀使VBA知道行和列所在的表单。然后在按钮的代码中:

Private Sub CommandButton1_Click()
    UnHideAll
End Sub

我已经多次使用手动列,行和工作表测试它,以及VBA进行隐藏时,它似乎工作正常。