Σφάλμα υποδείκτη εκτός εύρους στο Excel στο VBA (με 5 λύσεις)

  • Μοιραστείτε Αυτό
Hugh West

Σε αυτό το άρθρο, θα σας δείξουμε τους λόγους για την " Υποδείκτης εκτός εύρους " σφάλμα στο Excel VBA και πώς να τα λύσετε.

Λήψη προτύπου πρακτικής

Μπορείτε να κατεβάσετε το δωρεάν υπόδειγμα Excel από εδώ.

Σφάλμα υποδείκτη εκτός εύρους στο VBA.xlsm

Τι είναι το Σφάλμα υποδείκτη εκτός εύρους στην VBA;

VBA Δείκτης υποδιαστολής εκτός εύρους το σφάλμα εμφανίζεται όταν προσπαθούμε να προσπελάσουμε οποιοδήποτε ανύπαρκτο μέλος ή ανύπαρκτη συλλογή συστοιχιών στο Excel. Πρόκειται για ένα " Σφάλμα χρόνου εκτέλεσης 9 " τύπου σφάλματος στο VBA κωδικοποίηση στο Excel.

Το σφάλμα συνήθως μοιάζει με αυτό,

5 λόγοι με λύσεις για το σφάλμα "Subscript Out of Range" στη VBA

Σε αυτή την ενότητα θα συζητηθούν οι 5 πιο συνηθισμένοι λόγοι για την εμφάνιση των Υποδείκτης εκτός εύρους σφάλμα και ποιες είναι οι λύσεις σε αυτό.

1. Σφάλμα υποδείκτη εκτός εύρους στην VBA για ανύπαρκτο βιβλίο εργασίας

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

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

Λύση

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

2. Σφάλμα υποδείκτη εκτός εύρους στην VBA για ανύπαρκτο φύλλο εργασίας

Όταν προσπαθείτε να αποκτήσετε πρόσβαση σε ένα φύλλο εργασίας που δεν υπάρχει στο βιβλίο εργασίας του Excel, τότε θα λάβετε επίσης το μήνυμα " Υποδείκτης εκτός εύρους " σφάλμα στο VBA .

Αν προσπαθήσουμε να εκτελέσουμε τον κώδικα που φαίνεται παραπάνω, θα λάβουμε το σφάλμα επειδή δεν υπάρχει " Φύλλο2 " που είναι διαθέσιμο στο βιβλίο εργασίας μας.

Λύση

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

3. Σφάλμα υποδείκτη εκτός εύρους στη VBA για μη καθορισμένα στοιχεία συστοιχίας

Αν δεν ορίσετε το μήκος μιας δυναμικής συστοιχίας με τη λέξη DIM ή REDIM στο Excel VBA , τότε θα λάβετε το " Υποδείκτης εκτός εύρους " σφάλμα.

Στον παραπάνω κώδικα, δηλώσαμε το Array στη διάσταση από 5 έως 10, αλλά αναφερθήκαμε σε έναν δείκτη με δείκτη 3, ο οποίος είναι μικρότερος από το 5.

Λύση

Για να το λύσετε αυτό, δηλώστε τον δείκτη ανάμεσα στη διάσταση Array.

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

4. Σφάλμα υποδείκτη εκτός εύρους στην VBA για μη έγκυρη συλλογή/συστοιχία

Όταν ο δείκτης είναι μεγαλύτερος ή μικρότερος από το εύρος των δυνατών υποψηφίων, τότε η Υποδείκτης εκτός εύρους θα εμφανιστεί σφάλμα.

Κοιτάξτε το παραπάνω παράδειγμα, δηλώσαμε τη μεταβλητή ως Array, αλλά αντί να αναθέσουμε ένα σημείο αρχής και τέλους, αναθέσαμε απευθείας τον πρώτο πίνακα με την τιμή 20.

Λύση

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

Αυτός ο κώδικας δεν δίνει κανένα σφάλμα επειδή τώρα έχουμε δηλώσει τη συστοιχία με σημείο έναρξης το 1 και σημείο λήξης το 5.

5. Σφάλμα υποδείκτη εκτός εύρους στην VBA για στενογραφικό σενάριο

Εάν χρησιμοποιήσετε μια συντομογραφία από έναν υπογράφο και αναφέρεται σε ένα μη έγκυρο στοιχείο, τότε θα λάβετε την ένδειξη " Υποδείκτης εκτός εύρους " σφάλμα στο Excel VBA Για παράδειγμα, [A2] είναι η συντομογραφία για ActiveSheet.Range(A2) .

Λύση

Για να το διορθώσετε αυτό, πρέπει να χρησιμοποιήσετε ένα έγκυρο όνομα κλειδιού και δείκτης για τη συλλογή. Αντί να γράψετε ActiveSheet.Range(A2) , μπορείτε απλά να γράψετε [ A2 ].

Πλεονέκτημα του σφάλματος του Excel Subscript Out of Range στο VBA

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

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

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

Συμπέρασμα

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

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.