VBA Listbox

Στο VBA, μπορείτε να δημιουργήσετε ένα Listbox όπου ένας χρήστης μπορεί να επιλέξει μία από τις αναφερόμενες επιλογές. Το Listbox χρησιμοποιείται συχνά σε Userforms, αλλά μπορεί επίσης να χρησιμοποιηθεί σε ένα φύλλο εργασίας. Σε αυτό το σεμινάριο, θα μάθετε πώς να δημιουργείτε, να συμπληρώνετε και να διαγράφετε ένα Listbox. Θα δείτε επίσης πώς μπορείτε να πάρετε μια επιλογή χρήστη στο VBA και να τη χρησιμοποιήσετε σε κώδικα.

Αν θέλετε να μάθετε πώς να δημιουργείτε ένα ComboBox, κάντε κλικ εδώ: VBA ComboBox

Εάν θέλετε να μάθετε πώς να δημιουργείτε ένα πλαίσιο ελέγχου, κάντε κλικ εδώ: Πλαίσιο ελέγχου VBA

Δημιουργήστε ένα Listbox

Για να εισαγάγετε μια Λίστα στο φύλλο εργασίας, πρέπει να μεταβείτε στο Καρτέλα προγραμματιστή, Κάντε κλικ Εισάγετε και κάτω από τα στοιχεία ελέγχου ActiveX επιλέξτε Πλαίσιο λίστας:

Εικόνα 1. Εισαγάγετε ένα πλαίσιο λίστας στο φύλλο εργασίας

Όταν επιλέγετε το Listbox που εισαγάγατε, μπορείτε να κάνετε κλικ στο Ιδιότητες σύμφωνα με το Καρτέλα προγραμματιστή:

Εικόνα 2. Αλλαγή ιδιοτήτων λίστας

Εδώ μπορείτε να ορίσετε διαφορετικές ιδιότητες του Listbox. Στην αρχή, αλλάξαμε το χαρακτηριστικό Ονομα προς το lstListBoxΤο Τώρα, μπορούμε να χρησιμοποιήσουμε το Listbox με αυτό το όνομα σε κώδικα VBA.

Συμπληρώστε ένα Listbox σε κώδικα VBA

Αρχικά, πρέπει να συμπληρώσουμε το Listbox με τιμές. Στις περισσότερες περιπτώσεις, μια λίστα πρέπει να συμπληρωθεί όταν ανοίξει το βιβλίο εργασίας. Εξαιτίας αυτού, πρέπει να βάλουμε έναν κώδικα για τη συμπλήρωση του Listbox σε αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ, διαδικασία Ανοιξε. Αυτή η διαδικασία εκτελείται κάθε φορά που ένας χρήστης ανοίγει το βιβλίο εργασίας. Εδώ είναι ο κωδικός:

123456789 Με το Sheet1.lstListBox.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Τέλος με

Όπως μπορείτε να δείτε στην Εικόνα 3, συμπληρώσαμε το Listbox με 5 ονόματα (John, Michael, Jennifer, Lilly and Robert):

Εικόνα 3. Συμπληρώστε το Listbox στο VBA

Συμπληρώστε ένα Listbox από μια περιοχή κελιών

Ένας άλλος πιθανός τρόπος συμπλήρωσης ενός Listbox είναι να αφήσετε έναν χρήστη να το κάνει. Ένα Listbox μπορεί να συνδεθεί με το εύρος κελιών. Επομένως, κάθε φορά που ένας χρήστης εισάγει μια νέα τιμή στην περιοχή κελιών, το Listbox θα ενημερώνεται με αυτήν την τιμή.

Εάν θέλετε να το ενεργοποιήσετε, πρέπει να μεταβείτε στο Ιδιότητες του ListBox και ορίστε το χαρακτηριστικό ListFillRange:

Εικόνα 4. Συμπληρώστε το Listbox από την περιοχή κελιών

Συνδέσαμε το Listbox μας με το εύρος E2: E5, όπου βάζουμε ονόματα που θέλουμε (Nathan, Harry, George, Roberta). Ως αποτέλεσμα, το Listbox έχει πλέον συμπληρωθεί με αυτά τα ονόματα.

Αποκτήστε ένα επιλεγμένο στοιχείο ενός Listbox στο VBA

Ο σκοπός ενός Listbox είναι να πάρει μια επιλογή χρηστών. Για να ανακτήσετε μια τιμή που έχει επιλεγεί από έναν χρήστη, πρέπει να χρησιμοποιήσετε αυτόν τον κωδικό:

123 Dim strSelectedItem As VariantstrSelectedItem = Sheet1.lstListBox.Value

Η επιλογή χρηστών βρίσκεται στο χαρακτηριστικό αξία του Sheet1.lstListbox αντικείμενο. Αυτή η τιμή εκχωρείται στη μεταβλητή strSelectedItem:

Εικόνα 5. Λάβετε μια επιλεγμένη τιμή από το Listbox στο VBA

Επιλέξαμε Βασανίζω στο Listbox και εκτελέσαμε τη διαδικασία. Όπως μπορείτε να δείτε στην εικόνα 5, η τιμή του strSelectedItem είναι Βασανίζω, η οποία είναι η τιμή που επιλέξαμε. Επιπλέον, μπορείτε να επεξεργαστείτε αυτήν τη μεταβλητή στον κώδικα.

Εκκαθάριση λίστας

Για να καθαρίσετε ένα Listbox στο VBA, πρέπει να χρησιμοποιήσετε Σαφή μέθοδος για Sheet1.lstListBox αντικείμενο. Θα διαγράψει όλα τα στοιχεία από το Listbox. Εδώ είναι ο κωδικός:

1 Sheet1.lstListBox.Clear

Όταν εκτελούμε τον κώδικα, λαμβάνουμε το κενό Listbox:

Εικόνα 6. Εκκαθαρίστε το Listbox

Χρησιμοποιήστε ένα Listbox σε μια μορφή χρήστη

Όπως αναφέραμε, το Listbox χρησιμοποιείται συχνότερα σε Userforms. Για να εξηγήσουμε πώς μπορείτε να το κάνετε, θα εισαγάγουμε πρώτα μια φόρμα χρήστη. Στο πρόγραμμα επεξεργασίας VBA, κάντε δεξί κλικ στο όνομα μονάδας, κάντε κλικ στο Εισάγετε και επιλέξτε UserForm:

Εικόνα 7. Εισαγάγετε μια φόρμα χρήστη

Για να εμφανίσετε στοιχεία ελέγχου για εισαγωγή, πρέπει να ενεργοποιήσετε το ΕργαλειοθήκηΤο Για να το κάνετε αυτό, κάντε κλικ στοΕργαλειοθήκη εικονίδιο στη γραμμή εργαλείων. Μετά από αυτό, θα λάβετε τα παράθυρα με όλα τα διαθέσιμα στοιχεία ελέγχου. Μπορείτε να κάνετε κλικ στο ListBox για να το δημιουργήσετε στο Userform.

Εικόνα 8. Εισαγάγετε ένα πλαίσιο λίστας στη μορφή χρήστη

Θα ονομάσουμε το ComboBox cmbComboBoxΤο Για να το συμπληρώσουμε με τιμές, πρέπει να βάλουμε τον ακόλουθο κώδικα στη μέθοδο Αρχικοποίηση του αντικειμένου UserForm:

12345678910111213 Private Sub UserForm_Initialize ()Με UserForm1.lstListBox.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Τέλος μεΤέλος υπο

Αυτός ο κωδικός ενεργοποιείται κάθε φορά που ένας χρήστης εκτελεί το Userform και συμπληρώνει το Listbox με αυτά τα 5 ονόματα:

Εικόνα 9. Το Listbox με τιμές στη μορφή χρήστη

Εάν θέλετε να λάβετε την επιλεγμένη τιμή από το ComboBox, πρέπει να χρησιμοποιήσετε την ίδια λογική για το Combobox σε ένα φύλλο εργασίας, η οποία εξηγείται νωρίτερα στο άρθρο.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave