Μετάβαση στο κύριο περιεχόμενο

Πώς να συμπληρώσετε ένα Userform ComboBox με όλα τα ονόματα φύλλων στο Excel;

Αυτό το άρθρο μιλάει για τη συμπλήρωση όλων των ονομάτων φύλλων του τρέχοντος βιβλίου εργασίας σε ένα σύνθετο πλαίσιο χρήστη στο Excel.

Συμπληρώστε ένα Userform ComboBox με όλα τα ονόματα φύλλων με κωδικό VBA


Συμπληρώστε ένα Userform ComboBox με όλα τα ονόματα φύλλων με κωδικό VBA

Ο ακόλουθος κώδικας VBA μπορεί να σας βοηθήσει να εισαγάγετε όλα τα ονόματα φύλλων του τρέχοντος βιβλίου εργασίας σε ένα σύνθετο πλαίσιο φόρμας χρήστη. Κάντε τα εξής:

1. Πάτα το άλλος + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, εισαγάγετε μια φόρμα χρήστη κάνοντας κλικ Κύριο θέμα > Μορφή χρήστη όπως φαίνεται παρακάτω.

3. Στη συνέχεια σχεδιάστε και εισαγάγετε ένα σύνθετο πλαίσιο ελέγχου στη φόρμα χρήστη. Δείτε το στιγμιότυπο οθόνης:

4. Κάντε δεξί κλικ στο εισαγόμενο σύνθετο πλαίσιο και επιλέξτε Προβολή κωδικού από το μενού περιβάλλοντος. Δείτε το στιγμιότυπο οθόνης:

5. Στο άνοιγμα Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε και επικολλήστε κάτω από τον κώδικα VBA για να αντικαταστήσετε τον αρχικό στο παράθυρο κώδικα.

Κωδικός VBA: Συμπληρώστε ένα 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

Note: Στον κώδικα, ComboBox1 είναι το όνομα του εισαγόμενου Combo Box. Αλλάξτε το σε ένα δικό σας.

6. Πάτα το F5 κλειδί για την εκτέλεση του κώδικα. Στην αρχική Φόρμα χρήστη, μπορείτε να δείτε όλα τα ονόματα φύλλων του τρέχοντος βιβλίου εργασίας να εμφανίζονται στο σύνθετο πλαίσιο όπως παρακάτω στιγμιότυπο οθόνης:


Καταχωρίστε εύκολα όλα τα ονόματα φύλλων στο Excel

Η Δημιουργία λίστας ονομάτων φύλλων χρησιμότητα του Kutools για Excel μπορεί να βοηθήσει στην εύκολη λίστα όλων των ονομάτων φύλλων εργασίας του ενεργού βιβλίου εργασίας σε ένα νέο φύλλο εργασίας στο Excel. Και μπορείτε να μεταβείτε απευθείας στο αντίστοιχο φύλλο εργασίας κάνοντας κλικ στο όνομα του φύλλου όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Κατεβάστε το και δοκιμάστε το τώρα! (Δωρεάν διαδρομή 30 ημερών)


Σχετικά Άρθρα:

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

kte καρτέλα 201905


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
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