Показать видимые листы в выпадающем списке - PullRequest
0 голосов
/ 27 февраля 2019

Привет У меня есть следующий код для отображения рабочих листов в выпадающем списке.Листы автоматически добавляются в список при его создании.

Я не хочу, чтобы скрытый лист отображался в раскрывающемся списке.Как мне это сделать?

Option Explicit

Private Sub ComboBox1_Change()
    If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
End Sub

Private Sub Combobox1_DropbuttonClick()
    Dim xSheet As Worksheet
    On Error Resume Next
    Application.screenupdateing = False
    Application.EnableEvents = False
    If ComboBox1.ListCount <> ThisWorkbook.Sheets.Count Then
        ComboBox1.Clear
        For Each xSheet In ThisWorkbook.Sheets
            ComboBox1.AddItem xSheet.Name
            Next xSheet
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

Private Sub Combobx1_Gotfocus()
    If ComboBox1.ListCount <> 0 Then ComboBox1.DropDown
End Sub

1 Ответ

0 голосов
/ 27 февраля 2019

Это то, что вы пытаетесь?

Private Sub Combobox1_DropbuttonClick()
    Dim xSheet As Worksheet

    '~~> Clear the bocmbobox
    ComboBox1.Clear

    '~~> Add the sheet again
    For Each xSheet In ThisWorkbook.Sheets
        '~~> Check if they are visible
        If xSheet.Visible = xlSheetVisible Then
            ComboBox1.AddItem xSheet.Name
        End If
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...