ВБА 1004 грешка (топ 6 типова) | Како исправити грешку током извођења 1004 у ВБА?

ВБА 1004 грешка је грешка током извођења у ВБА која је такође позната као апликационо дефинисана или објектно дефинисана грешка и зашто је то зато што имамо ограничен број колона у екцелу и када наш код даје наредбу да се изађе из домета добијамо 1004 грешка, постоје и друге ситуације када ову грешку добијемо када се позивамо на опсег који не постоји у листу.

ВБА грешка 1004 у Екцелу

ВБА 1004 Грешка је грешка времена извођења у ВБА и јавља се током покретања кода. Грешке су саставни део кодирања, посебно када пишете први пут, можете наићи на много грешака у ВБА. Ово је заједничко за све и око тога нема ништа посебно.

Међутим, ако знате грешку због које долази, те грешке ћете избегавати у наредној будућности.

У овом чланку ћемо размотрити једну од важних грешака у програму Екцел „ВБА 1004 Грешка“.

Топ 6 грешака у извршавању програма Екцел ВБА 1004

Овде можете преузети овај ВБА 1004 образац грешке - ВБА 1004 предложак грешке

# 1 - ВБА Грешка времена извођења 1004: То име је већ заузето. Покушајте са другим:

Ова грешка се јавља приликом преименовања листа.

Ако име радног листа већ постоји и ако покушате да доделите исто име другом листу, ВБА баца грешку у времену извођења од 1004 наводећи „Име је већ заузето. Покушајте са другим ”

На пример, погледајте доњи код.

Шифра:

 Суб Еррор1004_Екампле () Ворксхеетс ("Схеет2"). Наме = "Схеет1" Енд Суб 

Покушавам да преименујем лист 2 у лист 1. Али већ имам лист под називом „Лист1“.

Ако покренем овај код помоћу тастера Ф5 или ручно, добићу грешку времена извођења 1004: То име је већ заузето. Покушајте са другим

Дакле, покушајте да преименујете лист у складу с тим.

# 2 - ВБА грешка времена извођења 1004: Метода „Опсег“ објекта „_ Глобал“ није успела:

То се обично дешава када покушамо да додамо именовани опсег у Екцелу с правописном грешком или који уопште не постоји у радном листу на који се позивате.

Због тога сам опсег ћелија назвао „Наслови“, као што је приказано на доњој слици.

Сада помоћу објекта Ранге могу да приступим овом опсегу.

Шифра:

 Суб Еррор1004_Екампле () Ранге ("Хеадингс"). Изаберите Енд Суб 

Ако покренете овај код притиском на тастер Ф5, тада ће овај код одабрати именовани опсег.

Али ако погрешно поменем именовани опсег, добићу грешку времена извођења 1004: Метода „Опсег“ објекта „_ Глобал“ није успела

Шифра:

 Суб Еррор1004_Екампле () Ранге ("Хеаднгс"). Изаберите Енд Суб 

Покрените овај код ручно или помоћу тастера Ф5 и погледајте резултат.

# 3 - ВБА Грешка времена извођења 1004: Није успео метод избора класе опсега:

То се обично дешава када покушавамо да изаберемо ћелије које нису активни лист, а да лист није изабран или активан.

За пример погледајте доњи код.

Шифра:

 Суб Еррор1004_Екампле () Ворксхеетс ("Схеет1"). Ранге ("А1: А5"). Изаберите Енд Суб 

Горњи код каже да се на радном листу „Лист1“ одаберу ћелије од А1 до А5. Да бих експериментисао, мој тренутни активни лист је „Схеет2“, а не „Схеет1“.

Покренућу овај код помоћу тастера Ф5 или ручно да видим шта ће се догодити.

Добили смо грешку у времену извођења 1004: неуспех класе Селецт Метход оф Ранге. То је зато што без активирања листа покушавамо да изаберемо ћелије тог листа. Дакле, прво морамо да активирамо прозирну пре него што изаберемо ћелије. Испод је исправан код.

# 4 - ВБА рунтиме еррор 1004 метода отворених објектних радних књига није успела:

То се обично догађа када покушате да отворите радну свеску која је истог имена као и друга радна свеска која је већ отворена.

За пример погледајте доњи код.

Шифра:

 Суб Еррор1004_Екампле () Дим вб Као сет радне свеске вб = Воркбоокс.Опен ("\ Име датотеке.клс", РеадОнли: = Труе, ЦорруптЛоад: = клЕктрацтДата) Енд Суб 

Ово ће избацити доњу грешку.

# 5 - ВБА Рунтиме Еррор 1004 метода Жао нам је, нисмо успели да пронађемо:

До ове грешке долази због тога што када покушате да отворите датотеку која не постоји на поменутој путањи, ово би могло бити премештено, преименовано или избрисано са поменуте путање. Један од разлога за то је погрешан тип путање или имена датотеке са екстензијом екцел.

Сада погледајте доњи код.

Шифра:

 Суб Еррор1004_Екампле () Воркбоокс.Опен Филенаме: = "Е: \ Екцел Филес \ Инфограпхицс \ АБЦ.клск" Енд Суб 

Овај код каже да отворите датотеку „АБЦ.клск“ у поменутој путањи до фасцикле.

Сигурно знам да у поменутој путањи до фасцикле нема датотеке. Када у поменутој фасцикли не постоји датотека, добићемо Рунтиме Еррор 1004 метода Извините што нисмо успели да пронађемо.

# 6 - ВБА рунтиме грешка 1004 Активирање класе опсега метода није успело:

Ова грешка се јавља углавном због активирања опсега ћелија без активирања радног листа.

За пример погледајте доњи код.

Шифра:

 Суб Еррор1004_Екампле () Ворксхеетс ("Схеет1"). Ранге ("А1: А5"). Активирајте Енд Суб 

Ова грешка је врло слична оној коју смо видели у Грешка времена извођења 1004: Није успео избор методе класе опсега.

Ако покренем ручно или користим тастер Ф5, добићемо грешку испод.

Јер без активирања листа не можемо активирати ћелије у њему. Дакле, прво активирајте лист, а затим активирајте ћелије тог листа.