VBA ComboBox | Πώς να δημιουργήσετε και να χρησιμοποιήσετε το ComboBox στο VBA;

ComboBox Excel VBA

Το ComboBox είναι η δυνατότητα φόρμας χρήστη στο VBA , διαφέρουν από τα πλαίσια κειμένου, καθώς τα πλαίσια κειμένου χρησιμοποιούνται μόνο για να περιέχουν κείμενο και επιτρέπουμε στον χρήστη να εισάγει οποιονδήποτε τύπο δεδομένων, αλλά χρησιμοποιώντας τα σύνθετα πλαίσια περιορίζουμε τον χρήστη για τον τύπο απαντήσεων που επιθυμούμε έτσι τα δεδομένα είναι σωστά, είναι παρόμοια με την επικύρωση δεδομένων λίστας στο excel.

Το ComboBox μπορεί να συγκριθεί με μια αναπτυσσόμενη λίστα στο excel, στα φύλλα εργασίας χρησιμοποιήσαμε την επικύρωση δεδομένων για να παρέχουμε ένα αναπτυσσόμενο μενού, αλλά στο VBA υπάρχει μια λειτουργία φόρμας χρήστη όπου χρησιμοποιείται για την παροχή ενός αναπτυσσόμενου σε οποιαδήποτε μορφή χρήστη, αλλά εάν θέλουμε να χρησιμοποιήσουμε ένα σύνθετο πλαίσιο στο excel, μπορούμε επίσης να το αποκτήσουμε πρόσβαση από την ενότητα προγραμματιστών από εκεί, μπορούμε να δημιουργήσουμε σύνθετα πλαίσια για μεμονωμένα ή πολλαπλά κελιά.

Το Combo Box είναι πολύ παρόμοιο με την αναπτυσσόμενη λίστα που έχουμε σε ένα φύλλο εργασίας excel, με το σύνθετο πλαίσιο μπορούμε να αποθηκεύσουμε προκαθορισμένες τιμές, έτσι ώστε οι χρήστες να κάνουν την επιλογή από τη λίστα διαθέσιμη από το σύνθετο πλαίσιο. Το Combo Box χρησιμοποιείται γενικά μαζί με φόρμες χρήστη ως μέρος της λήψης της εισόδου από τους χρήστες.

Οι φόρμες χρηστών είναι χρήσιμες αλλά η χρήση άλλων εργαλείων στη φόρμα χρήστη είναι αυτό που κάνει τη φόρμα χρήστη τόσο ξεχωριστή Ένα από τα εργαλεία που χρησιμοποιούμε συχνά ως εργαλείο για τη φόρμα χρήστη είναι το "ComboBox".

Κορυφαίοι 2 τρόποι δημιουργίας ενός συνδυασμού VBA

Μπορείτε να κατεβάσετε αυτό το Πρότυπο VBA Combo Box Excel εδώ - Πρότυπο VBA Combo Box Excel

# 1 - Χρήση άμεσης κωδικοποίησης

Αρχικά, θα δούμε πώς να χρησιμοποιείτε το Combo Box με το φύλλο εργασίας. Ανοίξτε οποιοδήποτε από τα φύλλα εργασίας στο βιβλίο εργασίας excel, μεταβείτε στην καρτέλα Προγραμματιστής και κάτω από αυτήν την καρτέλα έχουμε ένα εργαλείο που ονομάζεται "Εισαγωγή". Κάντε κλικ σε αυτό και κάτω από αυτό έχουμε δύο επιλογές Active X Controls & Form Controls στο excel.

Από το "Active X Controls" επιλέξτε "Combo Box".

Τώρα μπορείτε να σχεδιάσετε αυτό το αντικείμενο σε οποιοδήποτε από τα φύλλα εργασίας.

Κάντε δεξί κλικ στο σύνθετο πλαίσιο και επιλέξτε "Properties".

Όταν επιλέγετε ιδιότητες, θα ανοίξει μια τεράστια λίστα ιδιοτήτων ενός συνδυαστικού πλαισίου.

Για αυτό το σύνθετο πλαίσιο, θα δώσουμε μια λίστα με ονόματα τμημάτων, αλλάξτε την ιδιότητα ονόματος του συνδυαστικού πλαισίου σε  "DeptComboBox" .

Τώρα αυτό το σύνθετο πλαίσιο θα αναφέρεται με το όνομα "DeptComboBox" . Πρέπει να δώσουμε προκαθορισμένα ονόματα τμημάτων, οπότε εδώ έχω μια λίστα με ονόματα τμημάτων.

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

Κάντε διπλό κλικ στο Combobox και θα σας μεταφέρει στη διαδικασία μακροεντολής VBA.

Αλλά πρέπει να δούμε αυτά τα ονόματα τμημάτων όταν ανοίξει το βιβλίο εργασίας, οπότε κάντε διπλό κλικ στο "ThisWorkbook"

Από την αναπτυσσόμενη λίστα επιλέξτε "Βιβλίο εργασίας".

Από τις επιλογές επιλέξτε "Άνοιγμα".

Τώρα θα δημιουργήσει ένα κενό όπως το παρακάτω.

Μέσα σε αυτήν τη μακροεντολή εισαγάγετε τον παρακάτω κωδικό.

Κώδικας:

 Ιδιωτικό Sub Workbook_Open () With Worksheets ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End with End Sub Sub 

Εντάξει, τώρα αποθηκεύστε και κλείστε το βιβλίο εργασίας, όταν ανοίξετε ξανά το βιβλίο εργασίας, θα μπορούσαμε να δούμε τα ονόματα των τμημάτων σε αυτό.

# 2 - Χρήση του UserForm

Ένας άλλος τρόπος προσθήκης τιμών στο ComboBox είναι χρησιμοποιώντας τη φόρμα χρήστη. Αρχικά, δώστε ένα όνομα στα κελιά ως "Τμήμα".

Μεταβείτε στην Επεξεργασία της Visual Basic και εισαγάγετε Φόρμα χρήστη από την επιλογή INSERT.

Τώρα δημιουργείται η νέα φόρμα χρήστη.

Δίπλα στη φόρμα χρήστη, μπορούμε να δούμε "Εργαλειοθήκη" από αυτήν την εργαλειοθήκη μπορούμε να εισαγάγουμε "Combo Box".

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

Κάντε κύλιση προς τα κάτω στην καρτέλα ιδιοτήτων και επιλέξτε "Πηγή γραμμής".

Για αυτό το "Row Source" εισαγάγετε το όνομα που είχαμε δώσει στα κελιά ονόματος τμήματος.

Τώρα αυτό το σύνθετο κουτί περιέχει την αναφορά του ονόματος "Τμήμα" .

Τώρα εκτελέστε τη φόρμα χρήστη χρησιμοποιώντας το κουμπί εκτέλεσης.

Τώρα μπορούμε να δούμε μια λίστα ονομάτων τμημάτων στο σύνθετο πλαίσιο στη φόρμα χρήστη.

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

Δημιουργήστε μια φόρμα χρήστη όπως παρακάτω.

Δημιουργήστε δύο κουμπιά εντολών.

Κάντε διπλό κλικ στο κουμπί "ΥΠΟΒΟΛΗ" που θα ανοίξει κάτω από τη μακροεντολή.

Μέσα σε αυτήν τη μακροεντολή προσθέστε τον παρακάτω κώδικα.

Κώδικας:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Cells (Rows.Count, 1). End (xlUp). Row + 1 Cells (LR, 1). Value = TextBox1. Value Cells (LR, 2). Value = ComboBox1 Υποτιμή End End 

Τώρα κάντε διπλό κλικ στο κουμπί "ΑΚΥΡΩΣΗ" και προσθέστε τον παρακάτω κωδικό.

Τώρα στο φύλλο εργασίας δημιουργήστε ένα πρότυπο όπως το παρακάτω.

Τώρα εκτελέστε τη φόρμα χρήστη και θα ανοίξει έτσι.

Εισαγάγετε το όνομα του υπαλλήλου και επιλέξτε το όνομα τμήματος από τη λίστα συνδυασμών.

Κάντε κλικ στο κουμπί ΥΠΟΒΟΛΗ και δείτε τη μαγεία.

Έχουμε τις τιμές που έχουν εισαχθεί στη μορφή πίνακα που έχουμε δημιουργήσει.

Πράγματα που πρέπει να θυμάστε

  • Το COMBO BOX έχει και τις δικές του ιδιότητες.
  • Η προσθήκη τιμών στη λίστα έρχεται με δύο τρόπους ο ένας είναι κωδικοποιητικός και ο άλλος είναι αναφορά ονόματος εύρους.
  • Το COMBO BOX είναι συνήθως μέρος της φόρμας χρήστη.

$config[zx-auto] not found$config[zx-overlay] not found