Αυτό το σεμινάριο θα σας διδάξει πώς να καλέσετε μια δευτερεύουσα διαδικασία από μια άλλη υποδιαδικασία στο VBA
Είναι πολύ χρήσιμο να γράφετε κώδικα που μπορεί να χρησιμοποιηθεί επαναλαμβανόμενα και να καλείται από πολλές υπο -διαδικασίες στο έργο σας - μπορεί να εξοικονομήσει τεράστιο χρόνο και κάνει τον κώδικα VBA πολύ πιο αποδοτικό.
Εκτέλεση υποδιαδικασίας από άλλη διαδικασία
Εξετάστε τις παρακάτω 3 διαδικασίες:
1234 | Sub TestRoutine ()RunRoutine1RunRoutine2Τέλος υπο |
123 | Sub RunRoutine1 ()MsgBox "Καλημέρα"Τέλος υπο |
123 | Sub RunRoutine2 ()MsgBox "Η σημερινή ημερομηνία είναι" & Μορφή (Ημερομηνία, "mm/dd/yyyy")Τέλος υπο |
Εάν εκτελέσουμε τη διαδικασία Sub - TestRoutine - θα καλέσει RunRoutine1 και RunRoutine2 και θα εμφανιστούν 2 πλαίσια μηνυμάτων.
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine.png)
Δεν υπάρχει περιορισμός στον αριθμό των Υπο -διαδικασιών που μπορείτε να καλέσετε από μια άλλη Διαδικασία.
Χρήση της δήλωσης κλήσης
Μπορείτε επίσης να χρησιμοποιήσετε τη δήλωση κλήσης μπροστά από το όνομα της διαδικασίας, για να διευκολύνετε την ανάγνωση του κωδικού σας. Ωστόσο, δεν έχει καμία απολύτως επίδραση στον τρόπο εκτέλεσης ή αποθήκευσης του κώδικα.
1234 | Sub TestRoutine ()Καλέστε το RunRoutine1Καλέστε το RunRoutine2Τέλος υπο |
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine_2.png)
Κλήση υποψηφίου με επιχειρήματα
Είναι επίσης δυνατό να καλέσετε ένα sub με ορίσματα
1234 | Sub TestRoutine ()RunRoutine1 ("Melanie")RunRoutine2 ("Να έχετε μια υπέροχη μέρα")Τέλος υπο |
123 | Sub RunRoutine1 (strName as String)MsgBox "Καλημέρα" & "& strNameΤέλος υπο |
123 | Sub RunRoutine2 (strMessage as String)MsgBox "Η σημερινή ημερομηνία είναι" & Μορφή (Ημερομηνία, "mm/dd/yyyy") & VbCrLf & strMessageΤέλος υπο |
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine_3.png)
Κλήση υποψηφίου με επώνυμα επιχειρήματα
Εάν ονομάσετε τα επιχειρήματά σας, δεν χρειάζεται να τα μεταφέρετε με την ίδια σειρά στις δευτερεύουσες ρουτίνες σας.
123 | Sub TestRoutine ()RunRoutine1 strGreeting: = "Πώς είσαι;", strName: = "Melanie"Τέλος υπο |
123 | Sub RunRoutine1 (strName as String, strGreeting as stringMsgBox "Καλημέρα" & "& strName & vbCrLf & strGreetingΤέλος υπο |
![](https://cdn.easyexcel.net/8802756/vba_call_run_sub_from_another_subroutine_4.png)
Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας