Excel VBA Грешка 1004

VBA 1004 Грешка е грешка, която срещаме, докато изпълняваме код във VBA, тя също е известна като VBA Runtime error. Докато ние работим във VBA или в друг език за програмиране или дори в ежедневната си работа, срещаме различни видове грешки. Понякога дори пропускаме един символ в кода, който кара целия код да не работи или може би целият код е грешен.

Грешките определено са част от кода, който пишем. Може да е неволно, но те съществуват. Без значение колко сме кодиращи, грешка по време на изпълнение може да възникне навсякъде. Както беше обяснено по-горе VBA 1004 Грешка е грешка, която възниква по време на изпълнение на кода в excel. Нарича се също приложение, дефинирано или обект дефинирана грешка.

Има различни видове причини да получим VBA Runtime Error 1004 в excel, нека да научим няколко от тях.

  • Грешка по време на работа на VBA 1004: Неуспешен метод „Обхват“ на обект „_ Глобален“:

Тази грешка възниква, когато стойността на обхвата, за която се отнасяме към VBA, е неправилна. Нарича се също като метод „Диапазон“ на обект „_ Глобален“ не е успешен.

  • VBA Run Time Error 1004: Това име вече е взето. Опитайте различен:

Даваме същото име на работен лист, който вече е взет от друг работен лист.

  • VBA Runtime Error 1004: Невъзможно е да се получи свойството за избор на клас Range:

Това е грешка, когато избираме диапазон в друг работен лист, без да активираме работния лист, за който се отнасяме.

  • Грешка по време на работа на VBA 1004: Неуспешен метод „Отваряне“ на обект „Работни книги“:

Тази грешка възниква, когато се опитаме да отворим работна книга, която вече е отворена или файлът вече се използва от друга програма.

  • Грешка по време на изпълнение на VBA 1004: Съжаляваме, че не можахме да намерим:

Получаваме тази грешка, когато се опитваме да отворим работен лист, който не съществува.

Както научихме, че може да има различни причини, ние получаваме грешка по време на изпълнение. Грешка по време на изпълнение може да възникне на всеки ред код. Трябва да научим как да се научим да се справяме с тези грешки и това се нарича VBA Error Handling.

Пример за VBA Runtime Error 1004 в Excel

След като описах различни видове грешки, които могат да възникнат по време на изпълнение на всеки VBA код, сега нека ги научим как се появяват с примери.

Можете да изтеглите този шаблон на VBA 1004 Грешка в Excel тук - VBA 1004 Error Excel шаблон

Грешка по време на работа на VBA 1004 - Пример №1

Както беше обяснено за тази грешка, тази грешка се появява, когато имаме предвид неправилно посочената стойност на обхвата в VBA. Това може да се случи, ако направим правописна грешка на посочения диапазон от, за да отнесем диапазон, който дори не съществува. За да демонстрираме това, нека първо направим имена. Имам следните данни тук.

  • Нека да наречем тази заглавка на таблицата като DATA .

  • Отидете в раздела Developer, щракнете върху Visual Basic, за да отворите VB Editor.

  • Декларирайте подфункцията, за да започнете да пишете кода.

Код:

 Sub Sample () Край Sub 

  • Обадете се на заглавката, която сме кръстили със следния код, написан по-долу.

Код:

 Sub Sample () Диапазон () Данни) Изберете End Sub 

  • Когато стартираме кода, можем да видим в excel, че той е избран, както правилно сме нарекли заглавката.

  • Сега грешно изписваме правописа за името на заглавката.

Код:

 Sub Sample () Диапазон () Dataa) Изберете End Sub 

  • Пуснете кода отново, за да видите резултата.

Получаваме отлична грешка по време на изпълнение VBA Ru4ime, защото сме написали неправилно името на диапазона.

Грешка по време на работа на VBA 1004 - Пример №2

Получаваме тази грешка, когато се опитваме да преименуваме работен лист с име, което вече е взето. Например, преименувах лист 1 на „ Ананд “ и ще се опитам да преименувам лист 2 като същия, след което ще видите резултата.

  • Отидете в раздела Developer, щракнете върху Visual Basic, за да отворите VB Editor.
  • Декларирайте подфункция, за да започнете да пишете кода.

Код:

 Sub Sample1 () Край Sub 

  • Опитайте да преименувате лист 2 като Anand със следния код по-долу,

Код:

 Sub Sample1 () Работни листове ("Sheet2"). Name = "Anand" End Sub 

  • Пуснете горния код и вижте резултата.

Когато се опитам да преименувам лист с името, което вече е взето, получавам грешка.

Грешка по време на работа на VBA 1004 - Пример №3

Ще се опитам да добавя стойността от лист 2 към променлива в лист 3. Но няма да активирам листа 2 и да видя какво ще се случи.

  • Отидете в раздела Developer, щракнете върху Visual Basic, за да отворите VB Editor.
  • Декларирайте подфункция, за да започнете да пишете кода.

Код:

 Sub Sample2 () Край Sub 

  • Декларирайте две променливи A и B като цяло число.

Код:

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

  • В променлива В съхранявайте стойността на A в допълнение към клетка А1 на лист 2.

Код:

 Sub Sample2 () Dim A като цяло число Dim B като цяло число B = A + работни листове („Sheet2“). Обхват („A1“). Изберете End Sub 

  • Нека предположим, че кодът работи и използваме функцията msgbox за показване на стойността на B.

Код:

 Подпроба2 () Dim A като цяло число Dim B като цяло число B = A + работни листове („Sheet2“). Обхват („A1“). Изберете MsgBox B End Sub 

  • Пуснете кода, за да видите получения резултат.

Получаваме тази грешка, защото не сме активирали лист 2, но се опитваме да използваме стойност на лист 2.

Грешка по време на работа на VBA 1004 - Пример №4

Срещаме тази грешка по време на изпълнение, когато вече имаме същото име на работна книга отворена, но се опитваме да я отворим отново.

За този пример вече преименувах работната си книга като VBA 1004 Error.xlsm и ще се опитам да я отворя отново, която вече е отворена и да видя дали получавам грешка VBA 1004.

  • Отидете в раздела Developer, щракнете върху Visual Basic, за да отворите VB Editor.
  • Декларирайте подфункция, за да започнете да пишете кода.

Код:

 Sub Sample3 () Край Sub 

  • Декларирайте променлива като работна книга.

Код:

 Sub Sample3 () Dim A като работна книга End Sub 

Опитайте се да отворите работната книга, която в момента вече сме отворили, със следния код.

Код:

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

Пуснете горния код, за да видите резултата.

Получаваме тази грешка, защото вече сме отворили същата работна книга.

Грешка по време на работа на VBA 1004 - Пример №5

Получаваме тази грешка, когато се опитваме да отворим работна книга, която не съществува. Това донякъде е подобно на горната грешка, която получаваме, тъй като VBA не може да намери работната книга.

  • Отидете в раздела Developer, щракнете върху Visual Basic, за да отворите VB Editor.
  • Декларирайте подфункция, за да започнете да пишете кода.

Код:

 Sub Sample4 () Край Sub 

  • Опитайте отворете всяка работна книга със следния код,

Код:

 Sub Sample4 () Workbooks.Open Filename: = "C: \ EDUCBA Съдържание \ Април \ VBA ИЛИ Function.xlsm" End Sub 

  • Вече изтрих листа от местоположението.
  • Пуснете кода, за да видите резултата.

Тъй като листът не съществува на даденото място, получаваме тази грешка.

Неща, които трябва да запомните

  • Винаги проверявайте за правописни грешки.
  • Не преименувайте няколко работни листа с едно и също име.
  • Преди да се обадите на която и да е друга справка, не забравяйте да активирате съответния работен лист.
  • Преди да опитате да отворите всеки друг работен лист, уверете се, че предоставеният път е правилен.

Препоръчителни статии

Това е ръководство за грешка VBA 1004. Тук обсъдихме Excel VBA Runtime Error 1004, заедно с практически примери и шаблон за excel за сваляне. Можете да разгледате и другите ни предложени статии -

  1. Добавяне или премахване на грешка в Excel
  2. VBA Докато цикъл | MS Excel
  3. Разбиране на грешки в Excel
  4. Използване на IFError във VBA

Категория: