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

or

Как заполнить Userform ComboBox всеми именами листов в Excel?

В этой статье рассказывается о заполнении всех имен листов текущей книги в пользовательском формате Combo Box в Excel.

Заполните Userform ComboBox со всеми именами листов с кодом VBA


Легко перечислить все имена листов в Excel

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

Kutools for Excel включает в себя более удобные инструменты Excel 300. Бесплатно, без ограничений, в 60-дни. Подробнее Загрузите бесплатную пробную версию

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

Заполните Userform ComboBox со всеми именами листов с кодом VBA


Следующий код VBA может помочь вам вставить все имена листов текущей книги в поле со списком пользовательских форм. Пожалуйста, сделайте следующее.

1. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окна.

2. в Microsoft Visual Basic для приложений окна, пожалуйста, вставьте Userform, нажав Вставить > UserForm как показано ниже.

3. Затем нарисуйте и вставьте элемент управления со списком в пользовательскую форму. Смотрите скриншот:

4. Щелкните правой кнопкой мыши вставленное поле со списком и выберите Просмотреть код из контекстного меню. Смотрите скриншот:

5. В открытии Microsoft Visual Basic для приложений окна, скопируйте и вставьте ниже кода VBA, чтобы заменить оригинал в окне кода.

Код VBA: заполнить Userform ComboBox со всеми именами листов текущей книги

Private Sub UserForm_Initialize()
    Dim I As Long
    Me.ComboBox1.Clear
    For I = 1 To Sheets.Count
        Me.ComboBox1.AddItem Sheets(I).Name
    Next
    Me.ComboBox1.Value = ActiveSheet.Name
End Sub

Внимание: В коде ComboBox1 - это имя вставленного Combo Box. Пожалуйста, измените его на свой.

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


Статьи по теме:


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.
    Raj Pradhan · 1 years ago
    Dear Sir/Madam,
    Thanks for you kind help. I'm a new Lerner of VBA and these article helps me a lot. I have used this code to show all worksheets in a userform combobox. It is perfect. I have a doubt. Can I show those sheet name alphabetically on Userform_Initialize? Though my worksheets are not arranged alphabetically.
    Please guide me how to proceed further with my requirement.
    Thanks,
    R.P
    • To post as a guest, your comment is unpublished.
      crystal · 6 months ago
      Good Day,
      Sorry for replying so late. The following VBA code can help you solve the problem.

      Private Sub UserForm_Initialize()
      Dim xWSs As Worksheets
      Dim xWS As Worksheet
      Dim xName As String
      Dim xI As Integer
      Dim xRg As Range
      On Error Resume Next

      xName = "StoreWorkSheetsName"

      Application.DisplayAlerts = False

      If Not Evaluate("=ISREF('" & xName & "'!A1)") Then
      Sheets.Add(after:=Worksheets(Worksheets.count)).Name = xName & ""
      Else
      Sheets(xName & "").Move after:=Worksheets(Worksheets.count)
      End If
      Set xWS = Sheets(xName & "")

      For xI = 1 To Sheets.count - 1
      xWS.Range("A" & xI).Value2 = Sheets(xI).Name
      Next xI
      xI = xI - 1
      Set xRg = xWS.Range("A1:A" & xI)
      ActiveWorkbook.Worksheets(xName).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets(xName).Sort.SortFields.Add Key:= _
      Range("A1:A" & xI), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
      xlSortNormal
      With ActiveWorkbook.Worksheets(xName).Sort
      .SetRange Range("A1:A" & xI)
      .Header = xlGuess
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
      End With

      Me.ComboBox1.Clear
      For i = 1 To xRg.count
      Me.ComboBox1.AddItem xRg.Item(i).Value

      Next
      Me.ComboBox1.Value = ActiveSheet.Name

      xWS.Delete
      Application.DisplayAlerts = True
      End Sub