VBA Call Sub (Οδηγός βήμα προς βήμα) | Πώς να καλέσετε υπορουτίνα στο Excel VBA;

Τι είναι το Call Sub στο VBA;

Μπορούμε να εκτελέσουμε όλες τις υπο-διαδικασίες της ίδιας λειτουργικής μονάδας σε μία μόνο υπορουτίνα και τη διαδικασία εκτέλεσης σε μία μόνο υπορουτίνα VBA που ονομάζεται «Call Sub».

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

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

Πώς να καλέσετε υπορουτίνα στο Excel VBA;

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

Μπορείτε να κατεβάσετε αυτό το πρότυπο VBA Call Sub Excel εδώ - Πρότυπο VBA Call Sub Excel

Κώδικας:

 Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub 

Στην παραπάνω εικόνα, έχουμε δύο υποδικασίες. Το πρώτο είναι "Code_1" και το δεύτερο είναι "Code_2".

Στον πρώτο υποκωδικό κλήσης VBA, μόλις έγραψα έναν κωδικό για να εισαγάγω μια τιμή στο κελί A1 ως "Γεια". Στη δεύτερη δευτερεύουσα διαδικασία, έχω γράψει τον κωδικό για να αλλάξω το εσωτερικό χρώμα του κελιού Α1 σε "rgbAquamarine".

Τώρα θα τρέξω τον πρώτο κωδικό, δηλαδή "Code_1".

Τώρα θα τρέξω τον δεύτερο κωδικό, δηλαδή "Code_2".

Εδώ έχω εκτελέσει τους χρόνους κώδικα.

Χρησιμοποιώντας το VBA "Call Sub" μπορούμε να εκτελέσουμε και τη δευτερεύουσα διαδικασία σε μία μόνο μακροεντολή. Πρέπει απλώς να προσθέσουμε τη λέξη "Κλήση" ακολουθούμενη από ένα όνομα μακροεντολής.

Κοιτάξτε την παρακάτω γραφική εικόνα.

Έχω αναφέρει τον κωδικό ως "Call Code_2" μόνο στην πρώτη υποδιαδικασία. Τώρα για να καταλάβουμε ας τρέξουμε τον κώδικα γραμμή προς γραμμή. Πατήστε το πλήκτρο F8 που θα επισημάνει το όνομα της μακροεντολής.

Πατήστε το πλήκτρο F8 για άλλη μια φορά, θα μεταβεί στην επόμενη γραμμή.

Η κίτρινη γραμμή δείχνει ότι ο επισημασμένος κώδικας πρόκειται να εκτελεστεί εάν πατήσουμε το πλήκτρο F8 για άλλη μια φορά. Πατήστε το πλήκτρο F8 τώρα.

Όπως μπορούμε να δούμε, έχει εισαχθεί η λέξη «Γεια» στο κελί A1. Τώρα έχει επισημανθεί η γραμμή "Call Code_2".

Το "Call Code_2" έχει ως στόχο να αλλάξει το εσωτερικό χρώμα του κελιού A1 και η λέξη "Call Code_2" θα εκτελέσει αυτόν τον κωδικό μόνο από την πραγματική υπο διαδικασία.

Αλλά πατήστε το πλήκτρο F8 για να δείτε τη μαγεία.

Έχει περάσει στο αναφερόμενο όνομα της υποδιαδικασίας. Πατήστε ξανά το πλήκτρο F8.

Τώρα επισημαίνεται η πραγματική γραμμή εργασιών, για να εκτελέσετε αυτό το πλήκτρο F8 για άλλη μια φορά.

Με αυτόν τον τρόπο, μπορούμε να εκτελέσουμε πολλές υπο-διαδικασίες από μία υποδιαδικασία καλώντας την υποδιαδικασία με το όνομά τους με τη λέξη «Κλήση».

Σημείωση:

  • Μπορούμε να εκτελέσουμε τη μακροεντολή μιας άλλης δευτερεύουσας διαδικασίας χωρίς να χρησιμοποιήσουμε τη λέξη "Κλήση" αλλά απλώς αναφέροντας το ίδιο το όνομα της μακροεντολής.
  • Αυτή δεν είναι η βέλτιστη πρακτική, επειδή εάν η υπο-διαδικασία μακροεντολών περιέχει παρένθεση που θέλετε να εκτελέσετε, τότε η λέξη «Κλήση» είναι υποχρεωτική.
  • Κατά την προσωπική μου γνώμη χρησιμοποιήστε πάντα τη λέξη «Κλήση» γιατί είναι απλώς μια λέξη 4 γραμμάτων που επιτρέπει σε άλλους να κατανοήσουν σωστά τον κώδικα.