VBA Κλείσιμο UserForm - Κορυφαίες 2 μέθοδοι για να κλείσετε τη φόρμα χρήστη με παραδείγματα

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

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

Excel VBA Κλείσιμο φόρμας χρήστη

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

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

Πώς να κλείσετε το UserForm στο Excel VBA;

Μόλις ολοκληρωθεί ο σκοπός της φόρμας χρήστη, πρέπει να συνεχίσει να εμφανίζεται η φόρμα χρήστη μπροστά από τον χρήστη, επομένως πρέπει να κλείσουμε τη φόρμα χρήστη. Μπορούμε να κλείσουμε τη φόρμα χρήστη χρησιμοποιώντας τις δηλώσεις "Unload Me" και "UserForm.Hide". Παρόλο που και τα δύο είναι ελαφρώς διαφορετικά μεταξύ τους, θα εξυπηρετήσει τελικά το σκοπό μας.

# 1 - Κλείσιμο φόρμας χρήστη χρησιμοποιώντας τη δήλωση "Unload Me" στο VBA

Για παράδειγμα, δείτε την παρακάτω εικόνα της φόρμας χρήστη.

Έχω ονομάσει τη φόρμα χρήστη ως "MyUserForm".

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

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

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

Εάν παρατηρήσετε, έχουμε ένα ακόμη κουμπί που ονομάζεται "Ακύρωση". Τι κάνει αυτό;

Πριν εμφανίσουμε τη φόρμα χρήστη, πρέπει να ρυθμίσουμε αυτό το κουμπί. Τώρα θα επιστρέψω στο βασικό οπτικό πρόγραμμα επεξεργασίας για να ρυθμίσω αυτό το κουμπί.

Τώρα θα κάνω διπλό κλικ στο κουμπί Ακύρωση, και θα ανοίξει την αυτόματη υπο-διαδικασία VBA όπως παρακάτω.

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

Γι 'αυτό, γράψτε τον κωδικό ως "Unload Me".

Κώδικας:

Private Sub CancelButton_Click () Unload Me End Sub

Το "Unload Me" είναι η λέξη που χρησιμοποιούμε για να κλείσουμε τη φόρμα χρήστη στην οποία εργαζόμαστε. Εδώ η φόρμα χρήστη αναγνωρίζει τη λέξη "Εγώ" ως το ίδιο το UserForm.

Το "Unload Me" μπορεί να χρησιμοποιηθεί μόνο σε αυτήν τη διαδικασία φόρμας χρήστη. Δεν μπορούμε να ονομάσουμε αυτήν τη δήλωση σε άλλες ενότητες. Εάν καλείται, θα εμφανίσει το μήνυμα σφάλματος ως " Μη έγκυρη χρήση λέξης-κλειδιού".

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

Συμπληρώστε τα δεδομένα και κάντε κλικ στο Υποβολή.

Μόλις κάνετε κλικ στο κουμπί υποβολής, θα αποθηκεύσει τις τιμές στα αναφερόμενα κελιά.

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

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

# 2 - Κλείστε το UserForm χρησιμοποιώντας τη μέθοδο απόκρυψης στο Excel VBA

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

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

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

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

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

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

Διαφορά μεταξύ εκφόρτωσης & απόκρυψης στο Excel VBA

Πρέπει να έχετε μια ερώτηση ποια είναι η διαφορά μεταξύ Unload & Hide, όπου και οι δύο εξυπηρετούν παρόμοιο σκοπό. Υπάρχει μια διαφορά μεταξύ αυτών των δύο. Τώρα πρώτα, θα χρησιμοποιήσω τη δήλωση Unload Me. Κοιτάξτε την παρακάτω εικόνα.

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

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

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

Τώρα θα χρησιμοποιήσω τη μέθοδο "Απόκρυψη".

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

Με αυτόν τον τρόπο μπορούμε να χρησιμοποιήσουμε τη δήλωση "Unload" & "Hide" για να κλείσουμε τη φόρμα χρήστη στο Excel VBA.

ενδιαφέροντα άρθρα...