Помилка VBA Excel 1004

Помилка VBA 1004 - це помилка, з якою ми стикаємося під час виконання коду в VBA, вона також відома як помилка виконання VBA. Поки ми працюємо в VBA або будь-якій іншій мові програмування або навіть у своїй щоденній роботі, ми стикаємося з різними помилками. Іноді навіть ми не вистачаємо жодного символу в коді, який призводить до того, що весь код не працює, або, можливо, весь код неправильний.

Помилки, безумовно, є частиною коду, який ми пишемо. Це може бути ненавмисно, але вони існують. Наскільки б ми не працювали в кодуванні, помилка виконання може виникнути в будь-якому місці. Як пояснено вище, VBA 1004 Помилка - це помилка, яка виникає під час виконання коду в excel. Його також називають визначеною програмою помилкою, визначеною об'єктом.

Існують різні типи причин, за якими ми отримуємо VBA Runtime Error 1004 у excel, вивчимо їх декілька.

  • Помилка виконання VBA 1004: помилка методу "Діапазон" об'єкта "_ Глобальний":

Ця помилка виникає, коли значення діапазону, яке ми посилаємо на VBA, є невірним. Його також називають помилковим методом "Діапазон" об'єкта "_ Глобальний".

  • Помилка часу запуску VBA 1004: це ім'я вже прийнято. Спробуйте інший:

Ми даємо те саме ім'я робочому аркушу, який вже прийнятий іншим аркушем.

  • Помилка виконання VBA 1004: неможливо отримати властивість select класу Range:

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

  • Помилка виконання VBA 1004: помилка методу "Відкриття" об'єкта "Робочі книги":

Ця помилка виникає, коли ми намагаємось відкрити робочу книжку, яка вже відкрита, або файл вже використовується іншою програмою.

  • Помилка виконання VBA 1004: Вибачте, ми не змогли знайти:

Ми отримуємо цю помилку, коли намагаємось відкрити робочий аркуш, який не існує.

Як ми дізналися, може бути різних причин, ми отримуємо помилку під час виконання. Помилка виконання може виникнути в будь-якому рядку коду. Нам потрібно дізнатися, як навчитися обробляти ці помилки, і це називається VBA Error Handling.

Приклад помилки виконання VBA 1004 в Excel

Оскільки я описав різні типи помилок, які можуть виникати під час виконання будь-якого коду VBA, тепер давайте вивчимо їх, як вони виглядають на прикладах.

Ви можете завантажити шаблон VBA 1004 Error Excel тут - шаблон VBA 1004 Error Excel

Помилка виконання VBA 1004 - приклад №1

Як пояснено з приводу цієї помилки, ця помилка виникає, коли ми посилаємось на неправильне назване значення діапазону в VBA. Це може статися, якщо ми зробимо орфографічну помилку названого діапазону для позначення діапазону, який навіть не існує. Щоб продемонструвати це, спочатку зробимо названий діапазон. У мене є такі дані тут.

  • Назвемо цей заголовок таблиці як DATA .

  • Перейдіть на вкладку Developer, натисніть на Visual Basic, щоб відкрити редактор VB.

  • Визначте підфункцію, щоб почати писати код.

Код:

 Sub Sample () Кінець Sub 

  • Назвіть заголовок, який ми назвали за допомогою наступного коду, написаного нижче.

Код:

 Діапазон додаткового зразка () ("Дані") 

  • Коли ми запускаємо код, то у програмі excel ми бачимо, що він був обраний, як ми правильно назвали заголовок.

  • Тепер ми неправильно написали правопис назви заголовка.

Код:

 Діапазон додаткового зразка () ("Дані"). Виберіть Кінець підряд 

  • Запустіть код ще раз, щоб побачити результат.

Ми отримуємо Excel Помилка виконання VBA 1004, оскільки ми неправильно написали ім'я діапазону.

Помилка виконання VBA 1004 - приклад №2

Ми отримуємо цю помилку, коли намагаємось перейменувати робочий аркуш із іменем, яке вже прийнято. Наприклад, я перейменував аркуш 1 як " Ананд ", і я спробую перейменувати аркуш 2 таким же чином, щоб побачити результат.

  • Перейдіть на вкладку Developer, натисніть на Visual Basic, щоб відкрити редактор VB.
  • Визначте підфункцію, щоб почати писати код.

Код:

 Sub Sample1 () Кінець Sub 

  • Спробуйте перейменувати аркуш 2 у Ананд за наступним кодом нижче,

Код:

 Sub Sample1 () Робочі таблиці ("Sheet2"). Name = "Anand" End Sub 

  • Запустіть наведений вище код і подивіться результат.

Коли я намагаюся перейменувати аркуш із уже зайнятим іменем, я отримую помилку.

Помилка виконання VBA 1004 - приклад №3

Я спробую додати значення з аркуша 2 до змінної на аркуші 3. Але я не буду активувати аркуш 2 і побачити, що станеться.

  • Перейдіть на вкладку Developer, натисніть на Visual Basic, щоб відкрити редактор VB.
  • Визначте підфункцію, щоб почати писати код.

Код:

 Sub Sample2 () Кінець Sub 

  • Оголосіть дві змінні A і B цілими числами.

Код:

 Sub Sample2 () Dim A As Integer Dim B As Integer End Sub 

  • У змінній B зберігають значення A на додаток до комірки A1 аркуша 2.

Код:

 Sub Sample2 () Dim A As Integer Dim B As Integer B = A + Worksheets ("Sheet2"). Діапазон ("A1"). Виберіть End Sub 

  • Припустимо, що код працює і використовуємо функцію msgbox для відображення значення B.

Код:

 Sub Sample2 () Dim A As Integer Dim B As Integer B = A + Worksheets ("Sheet2"). Діапазон ("A1"). Виберіть MsgBox B End Sub 

  • Запустіть код, щоб побачити отриманий результат.

Ми отримуємо цю помилку, оскільки у нас не активовано аркуш 2, але ми намагаємось використовувати значення аркуша 2.

Помилка виконання VBA 1004 - приклад №4

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

Для цього прикладу я вже перейменував свою робочу книжку як VBA 1004 Error.xlsm, і я спробую відкрити її ще раз, яка вже відкрита, і побачити, чи отримаю помилку VBA 1004.

  • Перейдіть на вкладку Developer, натисніть на Visual Basic, щоб відкрити редактор VB.
  • Визначте підфункцію, щоб почати писати код.

Код:

 Sub Sample3 () Кінець Sub 

  • Задекларуйте змінну як робочу книжку.

Код:

 Sub Sample3 () Dim A As Workbook End Sub 

Спробуйте відкрити робочу книжку, яку ми вже відкрили, із наступним кодом.

Код:

 Sub Sample3 () Dim A As Workbook Set wb = Workbooks.Open ("\\ VBA 1004 Error.xlsm", ReadOnly: = True, CorruptLoad: = xlExtractData) End Sub 

Запустіть наведений вище код, щоб побачити результат.

Ми отримуємо цю помилку, оскільки ми вже відкрили ту саму робочу книжку.

Помилка виконання VBA 1004 - приклад №5

Ми отримуємо цю помилку, коли намагаємось відкрити робочу книжку, яка не існує. Це дещо схоже на наведену вище помилку, яку ми отримуємо, оскільки VBA не може знайти робочу книжку.

  • Перейдіть на вкладку Developer, натисніть на Visual Basic, щоб відкрити редактор VB.
  • Визначте підфункцію, щоб почати писати код.

Код:

 Sub Sample4 () Кінець Sub 

  • Спробуйте відкрити будь-яку робочу книгу із наступним кодом,

Код:

 Sub Sample4 () Workbooks. Відкрийте ім'я файлу: = "C: \ Зміст EDUCBA \ Квітень \ VBA АБО Function.xlsm" Кінець підрозділу 

  • Я вже видалив аркуш із місця.
  • Запустіть код, щоб побачити результат.

Оскільки аркуша не існує у вказаному місці, ми отримуємо цю помилку.

Що потрібно пам’ятати

  • Завжди перевіряйте правописні помилки.
  • Не перейменуйте кілька робочих таблиць з одним і тим же ім'ям.
  • Перш ніж зателефонувати до будь-якої іншої посилання, обов'язково активуйте відповідний робочий лист.
  • Перш ніж спробувати відкрити будь-який інший робочий аркуш, переконайтеся, що вказаний шлях правильний.

Рекомендовані статті

Це посібник щодо помилки VBA 1004. Тут ми обговорили Excel VBA Runtime Error 1004 разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Додавання або видалення рядка помилок в Excel
  2. VBA Поки цикл | MS Excel
  3. Розуміння помилок в Excel
  4. Використання IFError у VBA

Категорія: