Excel列表框隐藏/取消隐藏表格

时间:2018-02-12 17:38:18

标签: excel vba

我有一个ListBox(嵌入在工作表中)(根据需要单击按钮进行刷新)将填充工作簿中所有工作表的名称。 (每个都有一个复选框。)

代码:

Private Sub CommandButton1_Click()

    Dim i As Long
    Me.ListBox1.Clear
    For i = 1 To Sheets.Count
        Me.ListBox1.AddItem Sheets(i).Name
    Next

End Sub

我尝试了一些不同的选项,但是如果分别检查和取消选中,则无法解决如何取消隐藏和隐藏工作表的解决方案。 (并且如果用户以旧式方式手动取消隐藏或隐藏工作表,则选中/取消选中它们。)

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

Private Sub CommandButton1_Click()
    Dim i As Long

    Me.ListBox1.Clear

    For i = 1 To Worksheets.count
        Me.ListBox1.AddItem Worksheets(i).Name

        If Worksheets(i).Visible Then
           Me.ListBox1.Selected(i - 1) = True
        End If
    Next
End Sub

Private Sub ListBox1_Change()
    Dim i As Integer
    For i = 0 To Me.ListBox1.ListCount - 1
        If Me.ListBox1.Selected(i) Then
            Worksheets(Me.ListBox1.List(i)).Visible = True
        Else
            Worksheets(Me.ListBox1.List(i)).Visible = False
        End If
    Next i
End Sub
  • CommandButtton1点击将使用工作表名称和复选框填充列表框
  • ListBox1_Change将根据复选框值隐藏/取消隐藏工作表
相关问题