Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как перемещаться между листами, используя раскрывающийся список в Excel?

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

Перемещение между листами с помощью выпадающего списка в Excel


Перемещение между листами с помощью гиперссылок или кнопок:

Kutools for Excel's Создать список имен листов вы можете быстро перечислить все имена рабочих листов на новом листе с гиперссылками или макрокомандами, затем вы можете перемещаться между ними по своему усмотрению.

Kutools for Excel: с более чем 200 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни. Скачать и бесплатно пробную версию!


Перемещение между листами с помощью выпадающего списка в Excel


Чтобы перейти к каждому выбранному листу с помощью раскрывающегося списка, выполните следующие действия:

1. Щелчок разработчик > Вставить > Комбинированный блок (ActiveX Control), см. снимок экрана:

2, Затем перетащите мышь, чтобы нарисовать поле со списком, а затем щелкните его правой кнопкой мыши, выберите Просмотреть код из контекстного меню, см. снимок экрана:

3, В открывшемся Microsoft Visual Basic для приложений окно, скопируйте и вставьте следующий код, чтобы заменить исходный код, см. снимок экрана:

Код VBA: перемещение между листами с помощью выпадающего списка

Private Sub ComboBox1_Change()
'Updateby Extendoffice
    If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
End Sub
Private Sub ComboBox1_DropButtonClick()
    Dim xSheet As Worksheet
    On Error Resume Next
    Application.ScreenUpdating = 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 ComboBox1_GotFocus()
    If ComboBox1.ListCount <> 0 Then ComboBox1.DropDown
End Sub

4, Затем сохраните и закройте это окно кода, а затем нажмите Режим проектирования чтобы отключить режим разработки, теперь, когда вы выбираете одно имя листа из поля со списком, он сразу переходит к этому листу, см. снимок экрана:


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905

Вкладка «Office» предоставляет интерфейс с вкладками для Office и упрощает работу

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ilovemacro · 3 days ago
    hi there,
    Thank you very much for the code which create a dynamic combo box to navigate the sheets. Unfortunately I got an error. After navigating few sheets, the file automatically close. It doesn't even show any error message. I couldn't figure out the reason. I appreciate the help
    Thanks
  • To post as a guest, your comment is unpublished.
    roseanne · 6 months ago
    thanks for your code. It works for switching different sheet based on dropdown list.
    But I have several questions.
    1. after I process the related sheet, and want to go back to main menu(with sheet dropdown list), how could I do without using mouse?
    2. when I open the file, I would like the main menu(with dropdown list) as default . So I could start from this menu
    thanks
    rose
  • To post as a guest, your comment is unpublished.
    M · 1 years ago
    How do you change this to only show/select visible worksheets?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi,
      To ignore the hidden sheets from the drop down list, and only keep the visible worksheets, the following VBA code may help you:

      Private Sub ComboBox1_Change()
      'Updateby Extendoffice
      If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
      End Sub
      Private Sub ComboBox1_DropButtonClick()
      Dim xSheet As Worksheet
      On Error Resume Next
      Application.ScreenUpdating = False
      Application.EnableEvents = False
      If ComboBox1.ListCount <> ThisWorkbook.Sheets.Count Then
      ComboBox1.Clear
      For Each xSheet In ThisWorkbook.Sheets
      If xSheet.Visible Then
      ComboBox1.AddItem xSheet.Name
      End If
      Next xSheet
      End If
      Application.EnableEvents = True
      Application.ScreenUpdating = True
      End Sub
      Private Sub ComboBox1_GotFocus()
      If ComboBox1.ListCount <> 0 Then ComboBox1.DropDown
      End Sub

      Please try it, hope it can help you!
      • To post as a guest, your comment is unpublished.
        M · 1 years ago
        It worked! Thank you! Do you know if this code will cause problems if sheets are renamed or will it update the list automatically?
        • To post as a guest, your comment is unpublished.
          skyyang · 1 years ago
          Hello,
          The above code works well when renaming the sheet name and the items in the drop down list will be updated automatically.
          You can try it.
  • To post as a guest, your comment is unpublished.
    Emmanuel · 1 years ago
    How can I add only specific sheets? and not all the sheet in the workbook
    • To post as a guest, your comment is unpublished.
      Christian · 11 months ago
      Did you have any joy finding code to show only certain sheets in the dropdown box?
  • To post as a guest, your comment is unpublished.
    Ghaz · 1 years ago
    How can I make the hidden sheet active and hide the home page?