Υπορουτίνα Excel VBA: Πώς να καλέσετε το Sub σε VBA με Παράδειγμα

Τι είναι μια υπορουτίνα στο VBA;

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

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

Γιατί να χρησιμοποιήσετε υπορουτίνες

  • Σπάστε τον κώδικα σε μικρό διαχειρίσιμο κώδικα: Ένα μέσο πρόγραμμα υπολογιστή έχει χιλιάδες και χιλιάδες γραμμές πηγαίου κώδικα. Αυτό εισάγει πολυπλοκότητα. Οι υπορουτίνες βοηθούν στην επίλυση αυτού του προβλήματος αναλύοντας το πρόγραμμα σε μικρά διαχειρίσιμα κομμάτια κώδικα.
  • Επαναχρησιμοποίηση κώδικα. Ας υποθέσουμε ότι έχετε ένα πρόγραμμα που πρέπει να έχει πρόσβαση στη βάση δεδομένων, σχεδόν όλα τα παράθυρα του προγράμματος θα πρέπει να αλληλεπιδρούν με τη βάση δεδομένων. Αντί να γράφετε ξεχωριστό κώδικα για αυτά τα παράθυρα, μπορείτε να δημιουργήσετε μια συνάρτηση που χειρίζεται όλες τις αλληλεπιδράσεις της βάσης δεδομένων. Στη συνέχεια, μπορείτε να το καλέσετε από όποιο παράθυρο θέλετε.
  • Οι υπορουτίνες και οι συναρτήσεις είναι αυτοτεκμηριωμένες. Ας υποθέσουμε ότι έχετε μια συνάρτησηcalculateLoanInterest και μια άλλη που λέει connectToDatabase. Βλέποντας απλώς το όνομα της υπορουτίνας/συνάρτησης, ο προγραμματιστής θα μπορεί να πει τι κάνει το πρόγραμμα.

Κανόνες ονομασίας υπορουτίνων και συναρτήσεων

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

  • Το όνομα μιας υπορουτίνας ή μιας συνάρτησης κλήσης VBA δεν μπορεί να περιέχει χώρο
  • Ένα όνομα υποκλήσεων Excel VBA ή μια συνάρτηση πρέπει να ξεκινά με ένα γράμμα ή μια υπογράμμιση. Δεν μπορεί να ξεκινά με αριθμό ή ειδικό χαρακτήρα
  • Μια υπορουτίνα ή ένα όνομα συνάρτησης δεν μπορεί να είναι λέξη-κλειδί. Μια λέξη-κλειδί είναι μια λέξη που έχει ιδιαίτερη σημασία VBA. Λέξεις όπως Private, Sub, Function και End, κ.λπ. είναι όλες παραδείγματα λέξεων-κλειδιών. Ο μεταγλωττιστής τα χρησιμοποιεί για συγκεκριμένες εργασίες.

Σύνταξη υπορουτίνας VBA

Θα χρειαστεί να ενεργοποιήσετε την καρτέλα Προγραμματιστής στο Excel για να ακολουθήσετε αυτό το παράδειγμα. Εάν δεν γνωρίζετε πώς να ενεργοποιήσετε την καρτέλα Προγραμματιστής, διαβάστε τον οδηγό VBA Operaκορμοί

ΕΔΩ στη σύνταξη,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
    'do something
End Sub

Επεξήγηση σύνταξης

Κώδικας Ενέργειες
  • "Private Sub mySubRoutine(...)"
  • Εδώ η λέξη-κλειδί "Sub" χρησιμοποιείται για να δηλώσει μια υπορουτίνα με το όνομα "mySubRoutine" και να ξεκινήσει το σώμα της υπορουτίνας.
  • Η λέξη-κλειδί Ιδιωτικό χρησιμοποιείται για να καθορίσει το εύρος της υπορουτίνας
  • "ByVal arg1 ως συμβολοσειρά, ByVal arg2 ως συμβολοσειρά" :
  • Δηλώνει δύο παραμέτρους του ονόματος τύπου δεδομένων συμβολοσειράς arg1 και arg2
  • "Τέλος δευτερεύοντος"
  • Το "End Sub" χρησιμοποιείται για τον τερματισμό του σώματος της υπορουτίνας

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

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

Πώς να καλέσετε το Sub στο VBA

Ακολουθεί μια διαδικασία βήμα προς βήμα σχετικά με τον τρόπο κλήσης του Sub στο VBA:

  1. Σχεδιάστε τη διεπαφή χρήστη και ορίστε τις ιδιότητες για τα στοιχεία ελέγχου χρήστη.
  2. Προσθέστε την υπορουτίνα
  3. Γράψτε τον κωδικό συμβάντος κλικ για το κουμπί εντολής που καλεί την υπορουτίνα
  4. Δοκιμάστε την εφαρμογή

Βήμα 1) Διεπαφής χρήστη

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

Πώς να καλέσετε το Sub στο VBA

Ορίστε τις ακόλουθες ιδιότητες. Οι ιδιότητες που ορίζουμε:

S / N Έλεγχος Ιδιοκτησία αξία
1 Κουμπί Command1 Όνομα btnDisplayFullName
2 Λεζάντα Πλήρες όνομα υπορουτίνα


Η διεπαφή σας θα πρέπει τώρα να φαίνεται ως εξής.

Πώς να καλέσετε το Sub στο VBA

Βήμα 2) Προσθήκη υπορουτίνας

  1. Πατήστε Alt + F11 για να ανοίξετε το παράθυρο κώδικα
  2. Προσθέστε την ακόλουθη υπορουτίνα
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

ΕΔΩ στον κωδικό,

Κώδικας Δράσεις
  • "Ιδιωτική δευτερεύουσα εμφάνισηFullName(...)"
  • Δηλώνει μια ιδιωτική υπορουτίνα displayFullName που δέχεται δύο παραμέτρους συμβολοσειράς.
  • "ByVal firstName As String, ByVal lastName As String"
  • Δηλώνει δύο μεταβλητές παραμέτρων firstName και lastName
  • MsgBox όνομα επίθετο"
  • Καλεί το MsgBox ενσωματωμένη λειτουργία για την εμφάνιση ενός πλαισίου μηνυμάτων. Στη συνέχεια, μεταβιβάζει τις μεταβλητές 'firstName' και 'lastName' ως παραμέτρους.
  • Το συμπλεκτικό σύμβολο "&" χρησιμοποιείται για τη σύνδεση των δύο μεταβλητών και την προσθήκη κενού κενού μεταξύ τους.

Βήμα 3) Κλήση της υπορουτίνας

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

  • Κάντε δεξί κλικ στο κουμπί εντολής όπως φαίνεται στην παρακάτω εικόνα. Επιλέξτε Προβολή κώδικα.
  • Θα ανοίξει ο επεξεργαστής κώδικα

Πώς να καλέσετε το Sub στο VBA

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

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

Το παράθυρο του κωδικού σας θα πρέπει τώρα να έχει ως εξής

Πώς να καλέσετε το Sub στο VBA

Αποθηκεύστε τις αλλαγές και κλείστε το παράθυρο κώδικα.

Βήμα 4) Δοκιμή του κώδικα

Στη γραμμή εργαλείων προγραμματιστή βάλτε τη λειτουργία σχεδίασης 'off'. Οπως φαίνεται παρακάτω.

Πώς να καλέσετε το Sub στο VBA

Βήμα 5) Κάντε κλικ στο κουμπί εντολής «Υπορουτίνα FullName».

Θα λάβετε τα ακόλουθα αποτελέσματα

Πώς να καλέσετε το Sub στο VBA

Κατεβάστε τον παραπάνω κώδικα Excel

Σύνοψη

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