我有一个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
我尝试了一些不同的选项,但是如果分别检查和取消选中,则无法解决如何取消隐藏和隐藏工作表的解决方案。 (并且如果用户以旧式方式手动取消隐藏或隐藏工作表,则选中/取消选中它们。)
感谢任何帮助。谢谢!
答案 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
将根据复选框值隐藏/取消隐藏工作表