Πώς να χρησιμοποιήσετε το ComboBox στο VBA Excel Userform;

Πίνακας περιεχομένων:

Anonim

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

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

Προσθήκη ενός ComboBox στη φόρμα χρήστη

Για να προσθέσετε ένα συνδυαστικό πλαίσιο σε μια μορφή χρήστη, πρέπει πρώτα να έχετε μια μορφή χρήστη. Ντα !.

Ανοίξτε λοιπόν το VBE χρησιμοποιώντας CTRL+F11. Κάντε δεξί κλικ στο βιβλίο εργασίας, πηγαίνετε για εισαγωγή και κάντε κλικ στο Userform. Έχετε προσθέσει μια μορφή χρήστη. Μπορείτε να διαβάσετε περισσότερα για τις μορφές χρηστών στο VBA εδώ.

Τώρα, από την εργαλειοθήκη, επιλέξτε combobox. Είναι η τέταρτη επιλογή στην επάνω σειρά. Εάν δεν μπορείτε να δείτε την εργαλειοθήκη. Μεταβείτε στην Προβολή στο μενού, κάντε κλικ στην Εργαλειοθήκη. Θα εμφανιστεί η εργαλειοθήκη.

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

Πώς να αρχικοποιήσετε ένα combobox σε μορφή χρήστη;

Αυτό είναι το μέρος όπου οι περισσότεροι άνθρωποι κάνουν λάθη. Μερικές φορές οι μαθητές γράφουν τον κώδικα για τη φόρτωση των τιμών στο combobox και στη συνέχεια υποβάλλουν κουμπιά. Και όταν φορτώνουν τη μορφή χρήστη, το combobox δεν εμφανίζει τιμές.

Για να φορτώσετε το combobox, θα πρέπει να γράψετε τον κωδικό, πριν φορτώσετε τη φόρμα χρήστη. Αυτό μπορεί να γίνει στη μονάδα, c ή στο κουμπί όπου φορτώνετε τη φόρμα. Ο κωδικός για τη φόρτωση της λίστας combobox θα πρέπει να υπάρχει πριν από την εντολή formname.show.

Φόρτωση Combobox στην υπορουτίνα κλήσεων UserForm

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

Sub load_userform () States = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = δηλώνει UserForm1.Show End Sub 

Ορίζω έναν πίνακα "καταστάσεων" που περιέχει μερικά ονόματα ινδικών κρατών. Τώρα χρησιμοποιώ το όνομα userform για πρόσβαση στο combobox καθώς το combobox είναι μέρος του userform.

Το όνομα του userform μου είναι userform1. Και το όνομα του combobox είναι combobox1. Αυτά είναι προεπιλεγμένα ονόματα. Μπορείτε να τα αλλάξετε από το παράθυρο ιδιοτήτων.

Στη συνέχεια, αρχικοποιώ την ιδιότητα λίστας του combobox με καταστάσεις.

Στη συνέχεια, εμφανίζω το userform1 χρησιμοποιώντας την εντολή show.

Όταν εκτελείτε τον παραπάνω κώδικα, το combobox θα έχει όλες τις καταστάσεις που αναφέρονται.

Έναρξη Combobox χρησιμοποιώντας το συμβάν UserForm_Initialize ().

Μια άλλη μέθοδος φόρτωσης στοιχείων του combobox στη μορφή χρήστη είναι η χρήση του γεγονότος userform Initialize. Αυτό το συμβάν εκτελείται πριν φορτώσει η φόρμα χρήστη. Οτιδήποτε θέλετε να κάνετε πριν φορτώσει η μορφή χρήστη, μπορείτε να το κάνετε εδώ. Ένα από αυτά τα πράγματα είναι η φόρτωση στοιχείων combobox.

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

Θα εισαχθεί ένα κενό υπο -όνομα UserForm_Initialize (). Οτιδήποτε είναι γραμμένο σε αυτό το δευτερεύον στοιχείο θα εκτελεστεί πριν εμφανιστεί η μορφή χρήστη.

Γράφουμε λοιπόν τον κωδικό προετοιμασίας για το combobox εδώ.

Private Sub UserForm_Initialize () States = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = δηλώνει End End 

Σημειώστε ότι δεν έχουμε εδώ την εντολή userform1.show. Είναι ακόμα σε αυτήν την ενότητα. Αυτό το δευτερεύον στοιχείο θα χρησιμοποιηθεί για να εμφανιστεί η μορφή χρήστη μας στην οθόνη.

Sub load_userform () UserForm1.Show End Sub 

Έτσι, οι χρήστες θα εκτελέσουν το load_userform sub χρησιμοποιώντας κάποια εντολή, κουμπί ή στοιχείο εκχώρησης μακροεντολής. Καθώς ο μεταγλωττιστής εκτελεί την εντολή userform1.show κώδικα, εκτελεί αμέσως το συμβάν useforma_initialize (). Στη συνέχεια εμφανίζει τη μορφή χρήστη στους χρήστες.

Σημειώσεις:

Εάν γράψετε τον κώδικα για την προετοιμασία του combobox με τιμές στο κουμπί εντολών1 κλικ, το combobox δεν θα εμφανίσει τίποτα.

Για να προετοιμάσετε το combobox με τιμές, φορτώστε το σε κάθε περίπτωση που συμβαίνει πριν ο χρήστης φτάσει στο combobox για να γεμίσει.

Ανάκτηση τιμής από το ComboBox

Έτσι χρησιμοποιούμε φόρμες για να πάρουμε κάποιες πληροφορίες. Και για να χρησιμοποιήσουμε αυτές τις πληροφορίες, πρέπει να τις ανακτήσουμε. Για να λάβουμε οποιαδήποτε τιμή από το userob combobox χρησιμοποιούμε την ιδιότητα combobox.value. Γενικά, λαμβάνουμε τις τιμές από στοιχεία φόρμας μόλις ο χρήστης συμπληρώσει τη φόρμα και υποβάλει τη φόρμα χρησιμοποιώντας το κουμπί υποβολής. Μπορούμε λοιπόν να χρησιμοποιήσουμε το συμβάν commandbutton_click. Εισάγετε λοιπόν ένα κουμπί εντολών και γράψτε υποβολή σε αυτό, εάν δεν το έχετε ήδη. Τώρα κάντε διπλό κλικ σε αυτό και θα είστε μέσα στο συμβάν commandButton_click.

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

Private Sub CommandButton1_Click () State = ComboBox1.Value ThisWorkbook.Worksheets ("sheet1"). Range ("A1") = State Unload Me End Sub 

Λοιπόν, ναι, έτσι χρησιμοποιείτε το combobox σε μορφές χρηστών VBA. Ελπίζω να ήμουν εξηγητικός και επίκαιρος. Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με αυτό το θέμα ή άλλες ερωτήσεις που σχετίζονται με το VBA, ρωτήστε με στην παρακάτω ενότητα σχολίων.

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

Μεταβλητές VBA στο Excel| Το VBA σημαίνει Visual Basic for Applications. Είναι μια γλώσσα προγραμματισμού από τη Microsoft. Χρησιμοποιείται με εφαρμογές του Microsoft Office, όπως MSExcel, MS-Word και MS-Access, ενώ οι μεταβλητές VBA είναι συγκεκριμένες λέξεις-κλειδιά.

Πεδίο μεταβλητής Excel VBA| Σε όλες τις γλώσσες προγραμματισμού, έχουμε προσδιοριστές μεταβλητής πρόσβασης που ορίζουν από πού μπορεί να έχει πρόσβαση μια καθορισμένη μεταβλητή. Το Excel VBA δεν αποτελεί εξαίρεση. Το VBA έχει επίσης προσδιοριστικά πεδίου.

Επιχειρήματα ByRef και ByVal | Όταν ένα όρισμα μεταβιβάζεται ως όρισμα ByRef σε διαφορετικό υποσύστημα ή συνάρτηση, αποστέλλεται η αναφορά της πραγματικής μεταβλητής. Τυχόν αλλαγές που γίνονται στο αντίγραφο της μεταβλητής, θα αντικατοπτρίζονται στο αρχικό όρισμα.

Διαγράψτε φύλλα χωρίς προτροπές επιβεβαίωσης χρησιμοποιώντας VBA στο Microsoft Excel | Δεδομένου ότι διαγράφετε φύλλα χρησιμοποιώντας VBA, γνωρίζετε τι κάνετε. Θα θέλατε να πείτε στο Excel να μην εμφανίζει αυτήν την προειδοποίηση και να διαγράψει το καταραμένο φύλλο.

Προσθήκη και αποθήκευση νέου βιβλίου εργασίας χρησιμοποιώντας το VBA στο Microsoft Excel 2016| Σε αυτόν τον κώδικα, δημιουργήσαμε πρώτα μια αναφορά σε ένα αντικείμενο βιβλίου εργασίας. Και στη συνέχεια το αρχικοποιήσαμε με ένα νέο αντικείμενο βιβλίου εργασίας. Το πλεονέκτημα αυτής της προσέγγισης είναι ότι μπορείτε να κάνετε εύκολα λειτουργίες σε αυτό το νέο βιβλίο εργασίας. Όπως αποθήκευση, κλείσιμο, διαγραφή κλπ

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

Απενεργοποιήστε τα μηνύματα προειδοποίησης χρησιμοποιώντας το VBA στο Microsoft Excel 2016| Αυτός ο κώδικας όχι μόνο απενεργοποιεί τις ειδοποιήσεις VBA αλλά επίσης αυξάνει την αποδοτικότητα χρόνου του κώδικα. Ας δούμε πώς.

Δημοφιλή άρθρα:

50 συντομεύσεις Excel για να αυξήσετε την παραγωγικότητά σας | Γίνετε πιο γρήγοροι στην εργασία σας. Αυτές οι 50 συντομεύσεις θα σας κάνουν να εργάζεστε ακόμη πιο γρήγορα στο Excel.

Η συνάρτηση VLOOKUP στο Excel | Αυτή είναι μια από τις πιο δημοφιλείς και δημοφιλείς λειτουργίες του excel που χρησιμοποιείται για την αναζήτηση τιμών από διαφορετικά εύρη και φύλλα.

COUNTIF στο Excel 2016 | Μετρήστε τιμές με συνθήκες χρησιμοποιώντας αυτήν την εκπληκτική συνάρτηση. Δεν χρειάζεται να φιλτράρετε τα δεδομένα σας για να μετρήσετε συγκεκριμένες τιμές. Η λειτουργία Countif είναι απαραίτητη για την προετοιμασία του ταμπλό σας.

Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel | Αυτή είναι μια άλλη βασική λειτουργία του ταμπλό. Αυτό σας βοηθά να συνοψίσετε τιμές υπό συγκεκριμένες συνθήκες.