Πώς να χρησιμοποιήσετε τα στοιχεία ελέγχου VBA στα UserForms

Αυτό το άρθρο θα δείξει τον τρόπο χρήσης των στοιχείων ελέγχου στα UserForms στο Excel VBA.

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

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

Δημιουργία UserForm

Για να δημιουργήσουμε ένα UserForm στο Excel VBA, πρέπει πρώτα να ανοίξουμε το VBE Editor.

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

Μια νέα φόρμα χρήστη θα εμφανιστεί στο Project Explorer και θα εμφανίζεται στο παράθυρο κώδικα στα δεξιά.

Μπορείτε να μετονομάσετε τη φόρμα σας χρησιμοποιώντας το Ιδιότητες κουτί. Αυτό πρέπει να εμφανίζεται κάτω από το δικό σας Project Explorer.

Εάν είναι πόσο ορατό, πατήστε F4 ή κάντε κλικ Θέα, Παράθυρο ιδιοτήτων.

Κάντε κλικ στο Ονομα ιδιοκτησίας και μετονομάστε τη φόρμα σας.

Μπορούμε τώρα να αρχίσουμε να συμπληρώνουμε τη φόρμα μας με στοιχεία ελέγχου - το στοιχείο ελέγχου πλαισίου κειμένου είναι το πιο δημοφιλές στοιχείο ελέγχου μαζί με το κουμπί ελέγχου ετικέτας και το κουμπί εντολών.

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

Στο Μενού, επιλέξτε Προβολή> Εργαλειοθήκη.

Δημιουργία πλαισίου κειμένου

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

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

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

Μπορούμε να συνεχίσουμε να δημιουργούμε όσα πλαίσια κειμένου στη φόρμα μας απαιτούμε και να τα ονομάζουμε κατά περίπτωση χρησιμοποιώντας την ιδιότητα Όνομα στο παράθυρο Ιδιότητες.

Δημιουργία ελέγχου ετικέτας

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

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

Δημιουργία Combo Box Control

Ένα Combo Box (ή ένα αναπτυσσόμενο πλαίσιο) επιτρέπει στον χρήστη να επιλέξει από μια λίστα τιμών. Για να δημιουργήσετε ένα σύνθετο πλαίσιο, κάντε κλικ στην εργαλειοθήκη στο στοιχείο ελέγχου Combo Box και κάντε κλικ και σύρετε το σύνθετο πλαίσιο στη φόρμα σας.

Ονομάστε το Combo Box κατάλληλα.

Προσθήκη τιμών στο Combo Box

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

Για να μεταβείτε στον Κώδικα πίσω από τη φόρμα (CBF), είτε κάντε διπλό κλικ στη φόρμα είτε κάντε κλικ στο κουμπί κωδικού στην Εξερεύνηση έργου για να μεταβείτε σε προβολή κώδικα.

Στην αριστερή αναπτυσσόμενη λίστα, επιλέξτε Φόρμα χρήστη και, στη συνέχεια, στη δεξιά αναπτυσσόμενη λίστα, επιλέξτε Αρχικοποίηση.

Πληκτρολογήστε τον ακόλουθο κώδικα στο Sub και End Sub για να συμπληρώσετε το αναπτυσσόμενο πλαίσιο:

1234 Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Αρκάνσας"

Μπορούμε φυσικά να συνεχίσουμε να συμπληρώνουμε τη λίστα με τις υπόλοιπες πολιτείες των ΗΠΑ!

Για να εκτελέσετε τη φόρμα χρήστη για να δείτε τη λίστα σε δράση, 1) επιστρέψτε στην προβολή φόρμας και στη συνέχεια, 2) στη γραμμή εργαλείων, κάντε κλικ στο Τρέξιμο κουμπί.

Κάντε κλικ στο αναπτυσσόμενο βέλος για να δείτε τη λίστα.

Μπορούμε επίσης να χρησιμοποιήσουμε ένα εύρος στο Excel για να συμπληρώσουμε το Combo Box.

123456 Private Sub UserForm_Initialize ()Dim rng As RangeΓια κάθε rng εντός εμβέλειας ("A1: A50")Me.cboState.AddItem rng.ValueΕπόμενο rngΤέλος υπο

Αυτό θα πάρει όλες τις τιμές που είναι αποθηκευμένες στο εύρος A1 έως A50 και θα συμπληρώσει αναλόγως την αναπτυσσόμενη λίστα.

Δημιουργία ελέγχου πλαισίου λίστας

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

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

Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!

Προσθήκη τιμών στο πλαίσιο λίστας

Στο συμβάν Αρχικοποίηση της φόρμας, πληκτρολογήστε τον ακόλουθο κώδικα:

123456 Private Sub UserForm_Initialize ()Dim rng As RangeΓια κάθε rng εντός εμβέλειας ("A1: A50")Me.lstState.AddItem rng.ValueΕπόμενο rngΤέλος υπο

Όταν εκτελούμε τη φόρμα, το πλαίσιο λίστας θα εμφανιστεί όπως φαίνεται στην παρακάτω εικόνα:

Δημιουργία ελέγχου ελέγχου πλαισίου ελέγχου

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

Επιλέξτε το πλαίσιο ελέγχου και, στη συνέχεια, κάντε κλικ στη φόρμα όπου θέλετε να πάει.

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

Δημιουργία ελέγχου ομάδας επιλογών με κουμπιά επιλογής

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

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

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

Κάντε κλικ στο πλαίσιο και 1) τροποποιήστε το όνομα του πλαισίου και τη Λεζάντα. Στη συνέχεια, 2) κάντε κλικ σε κάθε ένα από τα κουμπιά επιλογών και τροποποιήστε τη Λεζάντα.

Δημιουργία ενός κουμπιού εντολών για έξοδο από τη φόρμα

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

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

Χρησιμοποιώντας την ιδιότητα λεζάντας, αλλάξτε τη λεζάντα του κουμπιού εντολών σε OK και τον επιταχυντή σε "O"

Ο σκοπός του Accelerator είναι ο χρήστης να χρησιμοποιήσει το πληκτρολόγιο για να ενεργοποιήσει το κουμπί, σε αυτή την περίπτωση Alt+O θα ενεργοποιήσει το κουμπί.

Υπέροχο Προϊόν. Το AutoMacro δεν γράφει μόνο τον κωδικό σας, διδάσκει καθώς προχωράτε! » - Τόνι, Ηνωμένο Βασίλειο

Μάθε περισσότερα

Διαβάστε τις 900+ κριτικές μας

Προσθήκη κώδικα στο κουμπί εντολών

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

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

1) Το συμβάν κλικ θα δημιουργηθεί αυτόματα καθώς αυτό είναι το συμβάν που χρησιμοποιείται συχνότερα για τα κουμπιά εντολών.

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

Πληκτρολογήστε τον ακόλουθο κώδικα στο συμβάν κλικ του κουμπιού εντολών.

123456789101112131415 Private Sub cmdOK_Click ()Εύρος ("E1") = Me.txtFirstnameΕύρος ("E2") = Me.txtSurnameΕύρος ("E3") = Me.txtCellPhoneΕύρος ("E4") = Me.cboStateIf Me.ckContactInfo = True ΤότεΕύρος ("E5") = "Επιτρέπονται SMS"ΑλλούΕύρος ("E5") = "Δεν επιτρέπονται SMS"Τέλος εανΕάν Me.opt1.Value = True then Range ("E6") = Me.opt1.CaptionΕάν Me.opt2.Value = True then Range ("E6") = Me.opt2.CaptionΕάν Me.opt3.Value = True then Range ("E6") = Me.opt3.CaptionΞεφορτώστε ΜεΤέλος υπο

Στη συνέχεια, μπορούμε να εκτελέσουμε τη φόρμα, να συμπληρώσουμε τα πλαίσια κειμένου και να επιλέξουμε από την αναπτυσσόμενη λίστα. Στη συνέχεια, κάνουμε κλικ στο OK για να εισαγάγουμε τις πληροφορίες στο Excel.

wave wave wave wave wave