Salt la conținutul principal

Cum se completează un Userbo ComboBox cu toate numele foilor în Excel?

Acest articol vorbește despre popularea tuturor numelor de foi ale registrului de lucru curent într-o casetă combinată de formă de utilizator în Excel.

Completați o formă de utilizator ComboBox cu toate numele foilor cu cod VBA


Completați o formă de utilizator ComboBox cu toate numele foilor cu cod VBA

Următorul cod VBA vă poate ajuta să inserați toate numele foilor din registrul de lucru curent într-o casetă combinată de formă de utilizator. Vă rugăm să faceți următoarele.

1. apasă pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastra, vă rugăm să introduceți un formular de utilizator făcând clic pe Insera > Formular de utilizator după cum se arată în imaginea de mai jos.

3. Apoi desenați și introduceți un control de casetă combinată în Formularul de utilizator. Vedeți captura de ecran:

4. Faceți clic dreapta pe caseta combinată inserată și selectați Afișați codul din meniul contextual. Vedeți captura de ecran:

5. În deschidere Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți sub codul VBA pentru a înlocui cel original în fereastra Cod.

Cod VBA: Populați un ComboBox Userform cu toate numele foilor din registrul de lucru curent

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

notițe: În cod, ComboBox1 este numele casetei combinate inserate. Vă rugăm să îl schimbați cu cel al dvs.

6. apasă pe F5 tasta pentru a rula codul. În Formularul de utilizator de deschidere, puteți vedea toate numele foilor din registrul de lucru curent care sunt afișate în caseta combinată, ca mai jos captura de ecran:


Enumerați cu ușurință toate numele foilor în Excel

 Creați o listă de nume de foi utilitatea Kutools pentru Excel vă poate ajuta să listați cu ușurință toate numele foilor de lucru ale registrului de lucru activ într-o nouă foaie de lucru în Excel. Și puteți trece direct la foaia de lucru corespunzătoare făcând clic pe numele foii, după cum se arată în imaginea de mai jos.
Descărcați și încercați acum! (traseu gratuit de 30 de zile)


Articole pe aceeaşi temă:

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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