Помилка підстановки підрядка Excel за межами діапазону в VBA (з 5 рішеннями)

  • Поділитися Цим
Hugh West

У цій статті ми покажемо вам причини " Підпис за межами діапазону " помилка в Excel VBA і як їх вирішити.

Завантажити шаблон практики

Ви можете завантажити безкоштовний шаблон практики в Excel тут.

Помилка підстановки за межами діапазону в VBA.xlsm

Що таке помилка підстановки за межами діапазону в VBA?

VBA Підстановка за межами діапазону помилка виникає, коли ми намагаємося отримати доступ до будь-якого неіснуючого члена або неіснуючої колекції масивів в Excel. Це " Помилка часу виконання 9 " тип помилки в VBA кодування в Excel.

Помилка зазвичай виглядає так,

5 причин з рішеннями помилки підстановки за межами діапазону в VBA

У цьому розділі будуть розглянуті 5 найбільш поширених причин виникнення Підпис знаходиться поза зоною досяжності помилка і які шляхи її усунення.

1. Помилка підстановки за межами діапазону в VBA для неіснуючої книги

При спробі отримати доступ до книги Excel, яка не відкрита, з'явиться повідомлення " Підпис знаходиться поза зоною досяжності "помилка.

Якщо ми спробуємо Біжи код, наведений вище, ми отримаємо помилку, тому що не існує книги Excel з ім'ям " Продажі ", яка наразі відкрита.

Рішення

Для усунення цієї помилки спочатку відкрийте книгу Excel, до якої потрібно отримати доступ, а потім запустіть макрос.

2. Помилка підстановки за межами діапазону в VBA для неіснуючого аркуша

При спробі отримати доступ до аркуша, який не існує в книзі Excel, ви також отримаєте повідомлення " Підпис знаходиться поза зоною досяжності " помилка в VBA .

Якщо ми спробуємо виконати код, наведений вище, то отримаємо помилку, тому що відсутній " Лист2 " доступний у нашому робочому зошиті.

Рішення

Для усунення цієї помилки необхідно мати в запущеній книзі аркуш Excel, до якого потрібно отримати доступ, а потім запустити макрос.

3. Помилка підстановки за межами діапазону в VBA для невизначених елементів масиву

Якщо не визначити довжину динамічного масиву словом DIM або РЕДІМ в 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 поза діапазоном у VBA

  • VBA Підстановка за межами діапазону помилка або " Помилка часу виконання 9 " дійсно корисна для вказівки позиції помилки, де вона виникла в VBA код.
  • Ця помилка допомагає користувачам знайти тип помилки, щоб вони могли перевірити і знайти рішення відповідно до коду помилки.

Важливі моменти для запам'ятовування

  • Оскільки ця помилка компілює кожен крок коду, щоб вказати нам, для якої саме частини коду нам насправді потрібно виконати дії, тому краще компілювати кожен рядок коду по черзі, натискаючи F8 ключ, якщо у вас величезний рядок коду.

Висновок

Ця стаття показала вам причини та рішення Excel Підпис знаходиться поза зоною досяжності помилка в VBA. Сподіваюся, що ця стаття була для вас корисною і не соромтеся задавати будь-які питання по темі.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.