Εκτύπωση εντοπισμού σφαλμάτων VBA | Πώς να χρησιμοποιήσετε το Debug.Print για να αναλύσετε την έξοδο κώδικα VBA;

Excel VBA Debug.Print

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

Το Debug.print προσφέρει τα δύο κύρια οφέλη από τη χρήση του Msgbox για την εμφάνιση της εξόδου του κώδικα. Εξαλείφει την ανάγκη να κάνετε κλικ στο κουμπί ΟΚ κάθε φορά και εμφανίζει το αρχείο καταγραφής των τιμών εξόδου στα άμεσα παράθυρα. Εξοικονομεί πολύ χρόνο χρηστών. Το παρόν άρθρο εξηγεί τη χρήση του excel VBA Debug Print με πολλά παραδείγματα και εξηγεί τον τρόπο χρήσης του καλύπτοντας τα ακόλουθα πράγματα.

Τι είναι το VBA Debug Print;

Το Debug είναι ένα αντικείμενο στο VBA και χρησιμοποιείται με τις δύο μεθόδους που ονομάζονται Assert and Print. Η εκτύπωση είναι χρήσιμη στο μήνυμα εμφάνισης και υποστηρίζει ότι βοηθά στην αξιολόγηση των συνθηκών. Στο VBA, η δήλωση debug.print χρησιμοποιείται σε οποιοδήποτε μέρος του προγράμματος κωδικοποίησης για να εμφανίσει τις τιμές μιας μεταβλητής ή μηνυμάτων στο Άμεσο παράθυρο. Αυτά δεν χρειάζονται αναγνώριση ή επιβεβαίωση και δεν δείχνουν καμία επίδραση στον κώδικα που αναπτύχθηκε. Είναι ασφαλές και καλύτερο να χρησιμοποιείτε στον κώδικα στην περίπτωση αυτή για να διευκολύνετε την πρόσβαση σε πολλούς χρήστες. Αυτά είναι απλά χρήσιμα για τη δοκιμή ή την αξιολόγηση του κώδικα για να επιβεβαιώσετε ότι λειτουργεί σωστά ή όχι. Εκτύπωση των μεταβλητών, συμβολοσειρές, αριθμοί, πίνακες, τιμές σε φύλλα excel και κενά και ενεργά φύλλα.

Πώς να χρησιμοποιήσετε το Excel VBA Debug Print;

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

Για παράδειγμα,

Πλήθος εντοπισμού σφαλμάτων, άθροισμα, μέσος όρος, τυπική απόκλιση

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

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

Βήματα για να ανοίξετε το άμεσο παράθυρο και να δείτε την έξοδο

  • Πατήστε Ctrl + G ή κάντε κλικ στο μενού «Προβολή» στο πρόγραμμα επεξεργασίας VBA.
  • Επιλέξτε την επιλογή "Άμεσο παράθυρο".
  • Τοποθετήστε το δρομέα στο παράθυρο και εκτελέστε ξανά τον κωδικό.
  • Παρατηρήστε την έξοδο στο παράθυρο.

Παραδείγματα του Excel VBA Debug.Print

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

Μπορείτε να πραγματοποιήσετε λήψη αυτού του προτύπου VBA Debug Print Excel - Πρότυπο VBA Debug Print Excel

Παράδειγμα # 1 - Εμφάνιση των τιμών των μεταβλητών

Αρχικά, μεταβείτε στην καρτέλα Προγραμματιστής, κάντε κλικ στο Macros και δημιουργήστε μια μακροεντολή για να γράψετε τον κώδικα στο VBA και να προσθέσετε ένα όνομα σε αυτό.

Αφού προσθέσετε όνομα κάντε κλικ στο create. Αυτό ανοίγει το πρόγραμμα επεξεργασίας VBA.

Αναπτύξτε ένα μικρό πρόγραμμα όπως φαίνεται στο σχήμα.

Κώδικας:

 Υπο μεταβλητές () Dim X As Integer Dim Y As String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X Debug.Print Y Debug.Print Z End Sub 

Όπως φαίνεται στο στιγμιότυπο οθόνης, τρεις διαστάσεις ή μεταβλητές μειώνονται ως X, Y και Z ως ακέραιος, συμβολοσειρά και διπλός αντίστοιχα. Για την εκτύπωση αυτών των τιμών χρησιμοποιείται το Debug.print και η έξοδος θα εμφανίζεται στο άμεσο παράθυρο. Πατήστε CTRL + G για να δείτε την έξοδο όπως φαίνεται στο στιγμιότυπο οθόνης.

Εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 και πατήστε  CTRL + G για να δείτε την έξοδο στο Άμεσο παράθυρο.

Αυτό το πρόγραμμα μπορεί να απλοποιηθεί διαχωρίζοντας τις δηλώσεις debug.print με κόμμα.

Κώδικας:

 Υπο μεταβλητές () Dim X As Integer Dim Y As String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X, Y, Z End Sub 

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

Παράδειγμα # 2 - Εκτύπωση εντοπισμού σφαλμάτων σε αρχείο

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

Το πρόγραμμα εκτύπωσης της εξόδου σε ένα αρχείο αναπτύσσεται όπως φαίνεται στο σχήμα.

Κώδικας:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Open "D: \ Articles \ Excel \ test.txt" For Output As #num s = "Γεια σας, κόσμος!" Debug.Print s 'write στο άμεσο παράθυρο Εκτύπωση #num, s' έξοδος εγγραφής στο αρχείο Κλείσιμο #num End Sub

Σε αυτό το πρόγραμμα, δύο μεταβλητές που ονομάζονται S και Num θεωρούνται ως συμβολοσειρά και ακέραιος αντίστοιχα. Η ανοιχτή δήλωση χρησιμοποιείται για τη δημιουργία ενός αρχείου κειμένου με τη δοκιμή ονόματος. Μια συμβολοσειρά που ονομάζεται «Hello World» δηλώνεται στη μεταβλητή S.

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

Η έξοδος στο αρχείο εμφανίζεται στο παρακάτω σχήμα.

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

Παράδειγμα # 3 - Εμφάνιση του παραγοντικού ενός αριθμού στο άμεσο παράθυρο

Αυτό το παράδειγμα απεικονίζει τη χρήση της δήλωσης debug.print για να δείξει παραγοντικά ενός αριθμού.

Κώδικας:

 Δημόσιο Sub Fact () Dim Count as Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 to number Fact = Fact * Count Next Count Count. Εκτύπωση Fact End End Sub 

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

Εδώ, η δήλωση debug.print χρησιμοποιείται έξω από το βρόχο “for” για να εμφανιστεί η τιμή μετά την ολοκλήρωση του βρόχου. Η έξοδος καθορίζεται ως.

Εάν χρησιμοποιούμε τη δήλωση debug.print στο εσωτερικό του βρόχου «for», η πραγματική τιμή εμφανίζεται για κάθε επαναλαμβανόμενο χρόνο όπως φαίνεται στο σχήμα.

Κώδικας:

 Δημόσιο Sub Fact () Dim Count as Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Debug.Print Fact Next Next End End Sub 

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

Παράδειγμα # 4 - Εκτύπωση του πλήρους ονόματος του ενεργού βιβλίου εργασίας

Αυτό το παράδειγμα εξηγεί πώς να εκτυπώσετε το τρέχον όνομα του βιβλίου εργασίας στο άμεσο παράθυρο

Το πρόγραμμα αναπτύσσεται όπως φαίνεται στο σχήμα.

Κώδικας:

 Υπο Ενεργό έργο () Καταμέτρηση αμυδρότητας Όσο για μέτρηση = 1 έως Workbooks.count Debug.Print Workbooks (count). FullName Επόμενο πλήθος Debug.Print count End End 

Εδώ "count" είναι η μεταβλητή που λαμβάνεται για να μετρήσει τον αριθμό των ενεργών βιβλίων εργασίας και για να εμφανίσει το πλήρες όνομα του ενεργού βιβλίου εργασίας. Το πλήρες όνομα και ο αριθμός των ενεργών βιβλίων εργασίας εμφανίζονται όπως φαίνεται στην εικόνα.

Η διαδρομή του βιβλίου εργασίας στις μονάδες δίσκου εμφανίζεται με ακρίβεια χρησιμοποιώντας τη δήλωση debug.print VBA.

Πράγματα που πρέπει να θυμάστε

  • Το κύριο πρόβλημα με το debug .print δεν είναι επιλογή αναδίπλωσης κειμένου για μεγάλες συμβολοσειρές στο άμεσο παράθυρο
  • Το άμεσο παράθυρο πρέπει να μεταφερθεί στην κορυφή για να δείτε την έξοδο στη διεπαφή χρήστη
  • Είναι αδύνατο να τυλίξετε το μακρύ κείμενο που εμφανίζεται στο Άμεσο παράθυρο. Σε αυτήν την περίπτωση, η έξοδος πρέπει να εμφανίζεται σε ένα αρχείο που είναι αποθηκευμένο στη μονάδα δίσκου.