Οδηγοί

Πώς να επιδιορθώσετε το σφάλμα «Εγγραφή εκτός εύρους» στη Visual Basic for Applications;

Η Visual Basic for Applications (VBA) είναι μια εφαρμογή της γλώσσας προγραμματισμού της Visual Basic που αναπτύχθηκε από τη Microsoft. Το VBA μπορεί να χρησιμοποιηθεί για την ενεργοποίηση UDF, την αυτοματοποίηση εργασιών και για την πρόσβαση στο WinAPI μέσω DLL. Ωστόσο, πολύ πρόσφατα, έχουν γίνει πολλές αναφορές στις οποίες οι χρήστες δεν μπορούν να εκτελέσουν συγκεκριμένες εντολές και ένα «Εγγραφή εκτός εύρους, σφάλμα 9Αναδύεται ενώ προσπαθεί να το κάνει.

Τι προκαλεί το σφάλμα "Εγγραφή εκτός εύρους" στο VBA;

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

  • Μη υπάρχον στοιχείο:Σε ορισμένες περιπτώσεις, είναι πιθανό να αναφέρατε ένα στοιχείο στην εντολή που δεν υπάρχει. Είναι πιθανό ότι ο συνδρομητής είναι είτε μεγαλύτερος είτε μικρότερος από το εύρος των πιθανών συνδρομητών ή διαστάσεων ενδέχεται να μην έχουν αντιστοιχιστεί στον πίνακα στο σημείο αυτό της εφαρμογής.
  • Απροσδιόριστα στοιχεία:Είναι πιθανό ότι δεν προσδιορίσατε τον αριθμό των στοιχείων στον κώδικά σας, είναι σημαντικό ο αριθμός των στοιχείων σε έναν πίνακα να καθορίζεται χρησιμοποιώντας τις εντολές "Dim" ή "ReDim".
  • Λάθος μέλος συλλογής: Σε ορισμένες περιπτώσεις, ο χρήστης μπορεί να έχει αναφέρει ένα μέλος συλλογής που δεν υπάρχει. Εάν γίνει εσφαλμένη αναφορά προς το μέλος συλλογής, αυτό το σφάλμα ενδέχεται να προκληθεί.
  • Σενάριο Shorthand:Είναι πιθανό να έχετε χρησιμοποιήσει μια σύντομη μορφή συνδρομητή και να καθορίσετε σιωπηρά ένα στοιχείο που δεν ήταν έγκυρο. Είναι σημαντικό να χρησιμοποιήσετε ένα έγκυρο όνομα κλειδιού.

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

Λύση 1: Έλεγχος συστοιχιών

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

Λύση 2: Καθορισμός αριθμού στοιχείων

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

Λύση 3: Αλλαγή δομής

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

Λύση 4: Έλεγχος ονόματος και ευρετηρίου

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