Φόρμες χρήστη του Excel - Συμβουλές για το Excel

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

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

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

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

Όπως πολλοί από εσάς, άρχισα να γράφω μακροεντολές Excel στο Excel 5.0. Αυτός ο ολόκληρος επεξεργαστής μακροεντολών στο Excel 97 είναι λίγο εκφοβιστικός. Για την άκρη αυτής της εβδομάδας, θα σας δείξω, βήμα προς βήμα, πώς να δημιουργήσετε το πλαίσιο λίστας για αυτό το έργο. Το επίκεντρο αυτής της εβδομάδας είναι μόνο στο σύνθετο κουτί. Το κοινό-στόχος είναι κάποιος που γνωρίζει τα βασικά των μακροεντολών του Excel, αλλά που δεν έχει χρησιμοποιήσει ποτέ μια φόρμα για να αλληλεπιδράσει με μια μακροεντολή.

Πρώτο βήμα: Άλλαξα τις υπάρχουσες μακροεντολές έτσι ώστε όταν πρόσθεσαν μια εγγραφή στο φύλλο2, η μακροεντολή θα ονόμαζε το εύρος που περιέχει τους αριθμούς μερών που θα ονομάζονται "PartList". Υπάρχει μια επικεφαλίδα στο κελί A1, με το πρώτο στοιχείο στο κελί A2. Χρησιμοποίησα την εντολή End για να βρω την τελευταία σειρά:

LastRow = Range("A6000").End(xlUp).Row ActiveWorkbook.Names.Add Name:="PartList", RefersTo:="=Sheet2!$A$2:$A$" & LastRow

Δεύτερο βήμα: Διάταξη της φόρμας του πλαισίου λίστας. Ακολουθήστε αυτά τα βήματα:

  • Ξεκινήστε τον Επεξεργαστή Visual Basic πατώντας alt-F11
  • Από το μενού, επιλέξτε Εισαγωγή> Φόρμα χρήστη. Ο επεξεργαστής πρέπει να σας δώσει ένα κενό UserForm1.
  • Εάν δεν βλέπετε το πλαίσιο Properties-UserForm1 στην κάτω αριστερή γωνία, πατήστε το εικονίδιο "Properties Window" - μοιάζει με ένα χέρι με ένα δάχτυλο που δείχνει ένα λευκό φύλλο.
  • Η 4η καταχώρηση στο παράθυρο ιδιοτήτων είναι Λεζάντα. Αυτήν τη στιγμή, η λεζάντα θα είναι UserForm1. Κάντε κλικ στο πλαίσιο στα δεξιά της λεζάντας στο παράθυρο Ιδιότητες και πληκτρολογήστε έναν νέο τίτλο για τη φόρμα. Κάλεσα το δικό μου "Επιλογή αριθμού ανταλλακτικού για έλεγχο". Άφησα όλες τις άλλες ιδιότητες για τη φόρμα στην προεπιλεγμένη τους κατάσταση.
    Δημιουργία πλαισίου λίστας με χρήση φόρμας χρήστη
  • Κάντε κλικ οπουδήποτε μέσα στη φόρμα χρήστη και θα εμφανιστεί η εργαλειοθήκη ελέγχου.
  • Στην εργαλειοθήκη ελέγχου, επιλέξτε το γράμμα A. Κάντε κλικ και σύρετε για να δημιουργήσετε ένα πλαίσιο ετικέτας στο επάνω μέρος της φόρμας. Από προεπιλογή, έχει λεζάντα Label1. Κάντε ξανά κλικ στο εσωτερικό του πλαισίου κειμένου και μπορείτε να επεξεργαστείτε τη λεζάντα. Βάλτε οδηγίες στον χρήστη εδώ: "Επιλέξτε ένα στοιχείο από την παρακάτω λίστα και κάντε κλικ στο OK για να δείτε τις τιμές".
  • Κάντε κλικ στη φόρμα, αλλά έξω από το πλαίσιο ετικέτας και θα δείτε ξανά την εργαλειοθήκη ελέγχου. Το 4ο στοιχείο στην επάνω σειρά είναι ένα εργαλείο σύνθετου κουτιού. Κάντε κλικ σε αυτό και σύρετε στη φόρμα χρήστη για να δημιουργήσετε ένα σύνθετο πλαίσιο. Εδώ θα εμφανιστεί η λίστα με τους αριθμούς ανταλλακτικών. Το προεπιλεγμένο όνομα είναι ComboBox1.
    Ιδιότητες Combobox
  • Το παράθυρο ιδιοτήτων θα σας δείχνει τώρα τις ιδιότητες για το ComboBox1. Μετακινηθείτε προς τα κάτω στις ιδιότητες μέχρι να δείτε την ιδιότητα RowSource. Για την ιδιότητα RowSource, πληκτρολογήστε = Sheet2! PartList
  • Τώρα μπορείτε να εκτελέσετε μια γρήγορη δοκιμή για να βεβαιωθείτε ότι τα πράγματα λειτουργούν σωστά. Κάντε κλικ στη γραμμή τίτλου της φόρμας χρήστη για να επιλέξετε ολόκληρη τη φόρμα. Τώρα κάντε κλικ στο εικονίδιο "αναπαραγωγή" (μοιάζει με το κουμπί αναπαραγωγής στο βίντεο). Θα επιστρέψετε στο βιβλίο εργασίας σας στο Excel και θα έχετε την απλή φόρμα χρήστη. Εάν κάνετε κλικ στο αναπτυσσόμενο μενού του αριθμού ανταλλακτικών, θα πρέπει να δείτε μια λίστα με έγκυρους αριθμούς ανταλλακτικών. Διαλέξτε ένα και θα παραμείνει στο σύνθετο κουτί. Μέχρι στιγμής, όχι πολύ συναρπαστικό. Κάντε κλικ στο μικρό X στην επάνω δεξιά γωνία για να παραβλέψετε το πλαίσιο.
  • Επιστρέψτε στον επεξεργαστή της Visual Basic. Κάντε κλικ στη φόρμα χρήστη για να εμφανιστεί η εργαλειοθήκη ελέγχου. Κάντε κλικ στο εργαλείο CommandButton και σχεδιάστε ένα κουμπί. Αλλάξτε τη λεζάντα να είναι ΟΚ χρησιμοποιώντας το παράθυρο Properties - CommandButton1.
  • Σχεδιάστε ένα δεύτερο κουμπί και επισημάνετε το Ακύρωση.
  • Έχουμε σχεδόν τελειώσει. Ας συνδέσουμε λίγο κώδικα στο κουμπί Ακύρωση. Κάντε δεξί κλικ στο κουμπί Ακύρωση και επιλέξτε "Προβολή κώδικα". Ο επεξεργαστής θα ρυθμίσει τις δηλώσεις Sub και End Sub. Μεταξύ τους, πληκτρολογήστε μία γραμμή κώδικα:
    UserForm1.Hide
  • Ναι, το μόνο που υπάρχει για την εκχώρηση κώδικα σε ένα κουμπί. Για να επιστρέψετε στη φόρμα χρήστη, κάντε διπλό κλικ στις λέξεις UserForm1 στο παράθυρο έργου. (Δεν μπορείτε να δείτε το παράθυρο του έργου; Πατήστε το εικονίδιο Εξερεύνηση έργου, ακριβώς στα αριστερά του εικονιδίου Ιδιότητες.)
  • Για να ολοκληρώσετε τη φόρμα χρήστη 1, ας κάνουμε κάτι με το κουμπί OK. Όταν ο χρήστης κάνει κλικ στο ΟΚ, θέλω η τιμή από το πλαίσιο λίστας να εμφανίζεται στο φύλλο 1 κελί Α2 και στη συνέχεια θέλω να ξεκινήσω μια μακροεντολή που είχα γράψει προηγουμένως με την ονομασία ReviewItem. Κάντε δεξί κλικ στο κουμπί OK και επιλέξτε Προβολή κώδικα. Εισαγάγετε αυτόν τον κωδικό για Private Sub CommandButton1_Click ():
    Worksheets("Sheet1").Range("A2") = UserForm1.ComboBox1.Value UserForm1.Hide ReviewItem

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

UserForm1.Show

Η φόρμα θα μοιάζει κάπως έτσι:

Ολοκληρωμένη μορφή χρήστη

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