Ошибка выхода подстрочного символа Excel за пределы диапазона в VBA (с 5 решениями)

  • Поделись Этим
Hugh West

В этой статье мы расскажем вам о причинах " Подстрочный индекс вне диапазона "ошибка в 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. Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь задавать любые вопросы по теме.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.