Оглавление
В этой статье мы расскажем вам о причинах " Подстрочный индекс вне диапазона "ошибка в Excel VBA и как их решить.
Скачать шаблон практики
Бесплатный практический шаблон Excel можно скачать отсюда.
Ошибка выхода подстрочного индекса за пределы диапазона в VBA.xlsm
Что такое ошибка выхода подстрочного символа за пределы диапазона в VBA?
VBA Подстрочный индекс вне диапазона ошибка возникает, когда мы пытаемся получить доступ к любому несуществующему члену или несуществующей коллекции массивов в Excel. Это " Ошибка времени выполнения 9 " тип ошибки в VBA кодирование в Excel.
Обычно ошибка выглядит следующим образом,
5 Причины и решения ошибки выхода подстрочного символа за пределы диапазона в VBA
В данном разделе будут рассмотрены 5 наиболее распространенных причин возникновения Подстрочный индекс вне диапазона ошибки и каковы пути их решения.
1. ошибка "Subscript Out of Range" в VBA для несуществующей рабочей книги
Когда вы пытаетесь получить доступ к рабочей книге Excel, которая не открыта, вы получите сообщение " Подстрочный индекс вне диапазона " ошибка.
Если мы попытаемся Запускайте код, показанный выше, мы получим ошибку, потому что не существует рабочей книги Excel с именем " Продажи ", который в настоящее время открыт.
Решение
Чтобы устранить эту ошибку, сначала откройте рабочую книгу Excel, к которой вы хотите получить доступ, а затем запустите макрос.
2. Ошибка "Subscript Out of Range" в VBA для несуществующего рабочего листа
Когда вы пытаетесь получить доступ к рабочему листу, который не существует в рабочей книге Excel, вы также получите сообщение " Подстрочный индекс вне диапазона " ошибка в VBA .
Если мы попытаемся выполнить показанный выше код, мы получим ошибку, потому что нет " Лист2 " рабочий лист, имеющийся в нашей рабочей тетради.
Решение
Чтобы решить эту ошибку, необходимо, чтобы лист Excel, к которому вы хотите получить доступ, находился в запущенной рабочей книге, а затем запустить макрос.
3. Ошибка "Subscript Out of Range" в VBA для неопределенных элементов массива
Если вы не определяете длину динамического массива словом DIM или РЕДИМ в Excel VBA , то вы получите " Подстрочный индекс вне диапазона " ошибка.
В приведенном выше коде мы объявили массив в размерности от 5 до 10, но ссылались на подскрипт с индексом 3, который меньше 5.
Решение
Чтобы решить эту проблему, объявите индекс между измерениями массива.
Этот фрагмент кода работает отлично, потому что здесь мы обратились к подскрипту индекса 5, который находится внутри диапазона от 5 до 10.
4. Ошибка "Subscript Out of Range" в VBA для недействительной коллекции/массива
Если подстрочный индекс больше или меньше диапазона возможных подстрочных индексов, тогда Подстрочный индекс вне диапазона произойдет ошибка.
Посмотрите на пример выше, мы объявили переменную как массив, но вместо того, чтобы назначить начальную и конечную точку, мы напрямую назначили первый массив со значением 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. Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь задавать любые вопросы по теме.