Как сделать выпадающий список для рабочих листов - PullRequest
2 голосов
/ 09 апреля 2011

У меня всего пять листов в рабочей тетради.Моя задача - создать на первом листе кнопку списка со списком, которая сможет указывать на остальные четыре.Если пользователь выбирает одно из имен листов, кнопка автоматически активирует выбранный лист.Маловероятно, что листы будут удалены, хотя вероятно, что листы будут добавлены.

Я даже не уверен, как заставить имена листов отображаться в комбинированном списке.

1 Ответ

9 голосов
/ 09 апреля 2011

Чтобы комбобокс изменил активный лист, я считаю, что вам нужно использовать VBA (поскольку я не знаю, как это сделать с помощью списков проверки).

Чтобы сделать это, выВам нужно будет:

1-й - добавить комбинированный список на свой первый лист и правильно назвать его (я назвал его cmbSheet).Я предлагаю использовать ActiveX Combobox (в Excel 2007, на вкладке Разработчик).

2nd - Откройте VBA и добавьте приведенный ниже код в код своей книги.Этот код будет заполнять поле со списком имен листов при каждом открытии книги.

Private Sub Workbook_Open()

    Dim oSheet As Excel.Worksheet
    Dim oCmbBox As MSForms.ComboBox

    Set oCmbBox = ActiveWorkbook.Sheets(1).cmbSheet

    oCmbBox.Clear

    For Each oSheet In ActiveWorkbook.Sheets

        oCmbBox.AddItem oSheet.Name

    Next oSheet

End Sub

3-й - Теперь перейдите к коду вашего первого листа (где был добавлен список) и добавьте кодэто активирует лист, выбранный в выпадающем списке.Код

Private Sub cmbSheet_Change()

    ActiveWorkbook.Sheets(cmbSheet.Value).Activate

End Sub

Теперь, когда значение комбинированного списка изменяется, активируется соответствующий лист.

Дайте нам знать, если что-то не понятно, и мы поможем вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...