Przejdź do głównej zawartości

Jak wypełnić Userform ComboBox wszystkimi nazwami arkuszy w programie Excel?

W tym artykule mowa o wypełnianiu wszystkich nazw arkuszy bieżącego skoroszytu w polu kombi użytkownika w programie Excel.

Wypełnij Userform ComboBox wszystkimi nazwami arkuszy z kodem VBA


Wypełnij Userform ComboBox wszystkimi nazwami arkuszy z kodem VBA

Poniższy kod VBA może pomóc wstawić wszystkie nazwy arkuszy bieżącego skoroszytu do pola kombi formularza użytkownika. Wykonaj następujące czynności.

1. wciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, proszę wstawić formularz użytkownika, klikając wstawka > Formularz użytkownika jak pokazano na poniższym zrzucie ekranu.

3. Następnie narysuj i wstaw formant pola kombi do formularza użytkownika. Zobacz zrzut ekranu:

4. Kliknij prawym przyciskiem myszy wstawione pole kombi i wybierz Wyświetl kod z menu kontekstowego. Zobacz zrzut ekranu:

5. W otwarciu Microsoft Visual Basic for Applications oknie, skopiuj i wklej poniżej kod VBA, aby zastąpić oryginalny kod w oknie kodu.

Kod VBA: Wypełnij Userform ComboBox wszystkimi nazwami arkuszy bieżącego skoroszytu

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

Note: W kodzie ComboBox1 jest nazwą wstawionego pola Combo Box. Proszę o zmianę na własną.

6. wciśnij F5 klucz do uruchomienia kodu. W otwierającym się formularzu użytkownika możesz zobaczyć, że wszystkie nazwy arkuszy bieżącego skoroszytu są wyświetlane w polu kombi, jak na poniższym zrzucie ekranu:


Z łatwością wypisz wszystkie nazwy arkuszy w programie Excel

Połączenia Utwórz listę nazw arkuszy użyteczność Kutools dla programu Excel może pomóc w łatwym wyszczególnieniu wszystkich nazw arkuszy aktywnego skoroszytu w nowym arkuszu w programie Excel. Możesz także przejść bezpośrednio do odpowiedniego arkusza, klikając nazwę arkusza, jak pokazano na poniższym zrzucie ekranu.
Pobierz i wypróbuj teraz! (30-dniowy bezpłatny szlak)


Podobne artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
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
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations