Σφάλμα υπερφόρτωσης VBA - Πώς να διορθώσετε το σφάλμα χρόνου υπερχείλισης χρόνου εκτέλεσης;

Πίνακας περιεχομένων

Σφάλμα υπερφόρτωσης του Excel VBA

Τα λάθη αποτελούν αναπόσπαστο μέρος οποιασδήποτε γλώσσας κωδικοποίησης, αλλά το να ανακαλύπτετε γιατί έρχεται αυτό το σφάλμα είναι αυτό που σας κάνει να ξεχωρίζετε από το πλήθος των συνεντεύξεων. Τα σφάλματα δεν είναι παράξενα για την κωδικοποίηση VBA. Τα λάθη δεν είναι σκόπιμα, έτσι ώστε η εύρεση της αιτίας για το σφάλμα καθιστά τη δύσκολη εργασία. Στο VBA, έχουμε μερικά από τα προκαθορισμένα σφάλματα και η γνώση τους σάς κάνει να διορθώσετε το σφάλμα πολύ γρήγορα. Σε αυτό το άρθρο, θα σας δείξουμε το RUN TIME ERROR 6: OverFlow. Ακολουθήστε το πλήρες άρθρο για να μάθετε για το σφάλμα, τους λόγους για το σφάλμα υπερχείλισης VBA και πώς να τα διορθώσετε.

Τι είναι το σφάλμα χρόνου εκτέλεσης 6: Σφάλμα υπερχείλισης στο VBA;

Όταν δηλώνουμε τη μεταβλητή, τους εκχωρούμε έναν τύπο δεδομένων. Θα πρέπει να γνωρίζουμε πλήρως τα πλεονεκτήματα και τα μειονεκτήματα κάθε τύπου δεδομένων - όπου το Run Time Error 6: OverFlow έρχεται στην εικόνα. Όταν υπερφορτώνουμε τον τύπο δεδομένων με την τιμή, η οποία είναι μεγαλύτερη από τη χωρητικότητα του τύπου δεδομένων, τότε θα λάβουμε αυτό το σφάλμα.

Για παράδειγμα: Εάν δηλώσετε τη μεταβλητή ως Byte.

Αχνός αριθμός ως Byte

Ο τύπος δεδομένων byte μπορεί να διατηρήσει τιμές από 0 έως 255. Τώρα θα εκχωρήσω την τιμή ως 240.

Αριθμός = 240

Αυτό θα πρέπει να λειτουργεί καλά επειδή η τιμή που έχουμε εκχωρήσει είναι μικρότερη από το όριο της τιμής Byte των 255. Τη στιγμή που θα εκχωρήσουμε την τιμή, η οποία είναι μεγαλύτερη από 255, οδηγεί στο σφάλμα Σφάλμα χρόνου εκτέλεσης 6: OverFlow.

Αυτή είναι η γενική επισκόπηση του σφάλματος χρόνου εκτέλεσης 6: OverFlow. Θα δούμε μερικά από τα παραδείγματα λεπτομερώς.

Παραδείγματα σφάλματος χρόνου εκτέλεσης 6: OverFlow στο VBA

Ας δούμε μερικά παραδείγματα σφάλματος VBA OverFlow στο Excel.

Παράδειγμα 1: Σφάλμα OverFlow με τύπο δεδομένων Byte

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

Κώδικας:

Sub OverFlowError_Example1 () Dim Dim As Byte Number = 256 MsgBox Number End Sub

Για τη μεταβλητή "Αριθμός", έχω αντιστοιχίσει την τιμή ως 256. Όταν εκτελώ αυτόν τον κωδικό, θα λάβουμε το παρακάτω σφάλμα.

Αυτό συμβαίνει επειδή ο τύπος δεδομένων Byte μπορεί να διατηρήσει τιμές από 0 έως 255. Επομένως προκαλεί σφάλμα. Για να διορθώσετε το σφάλμα, είτε πρέπει να αλλάξουμε τον τύπο δεδομένων είτε να μειώσουμε την τιμή που έχουμε εκχωρήσει στη μεταβλητή "Αριθμός"

Παράδειγμα 2: Σφάλμα υπερφόρτωσης VBA με τύπο δεδομένων ακέραιου αριθμού

Ο ακέραιος αριθμός VBA είναι ένας τύπος δεδομένων που μπορεί να διατηρεί τιμές από -32768 έως 32767. Για παράδειγμα, ανατρέξτε στον παρακάτω κώδικα.

Κώδικας:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub

Όταν εκτελώ αυτόν τον κωδικό, θα λάβουμε την τιμή της μεταβλητής "MyValue" στο πλαίσιο μηνύματος, δηλαδή, 25656.

Τώρα θα εκχωρήσω εκ νέου τον αριθμό στη μεταβλητή ως "45654".

Κώδικας:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub

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

Παράδειγμα 3: Σφάλμα υπερφόρτωσης VBA με μακρύ τύπο δεδομένων

Ο μεγάλος τύπος δεδομένων είναι ο πιο συχνά χρησιμοποιούμενος τύπος δεδομένων στο Excel VBA. Αυτό μπορεί να διατηρήσει τιμές από -2.147.483.648 έως 2.147.486.647. Οτιδήποτε παραπάνω θα προκαλέσει σφάλμα.

Κώδικας:

Sub OverFlowError_Example3 () Dim MyValue Όσο καιρό MyValue = 5000 * 457 MsgBox MyValue End Sub

Αυτό θα προκαλέσει σφάλμα υπερχείλισης.

Για να διορθώσουμε αυτό το ζήτημα, πρέπει να χρησιμοποιήσουμε τη συνάρτηση CLNG στο VBA. Παρακάτω είναι ένα παράδειγμα του ίδιου.

Κώδικας:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub

Αυτό πρέπει να λειτουργεί καλά.

Αυτή είναι η επισκόπηση του σφάλματος χρόνου εκτέλεσης 6: OverFlow . Για να επιλύσουμε αυτό το σφάλμα, πρέπει να γνωρίζουμε πλήρως τους τύπους δεδομένων. Επιστρέψτε λοιπόν στα βασικά, κάντε τα βασικά σωστά, τότε όλα θα πέσουν στη θέση τους.

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

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