Зміст
У цій статті ми покажемо вам причини " Підпис за межами діапазону " помилка в 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. Сподіваюся, що ця стаття була для вас корисною і не соромтеся задавати будь-які питання по темі.