VBA 1004 -virhe (6 parasta tyyppiä) | Kuinka korjata ajonaikainen virhe 1004 VBA: ssa?

VBA 1004 -virhe on VBA: n ajonaikainen virhe, joka tunnetaan myös nimellä sovelluksen määrittelemä tai objektin määrittämä virhe, ja miksi se johtuu siitä, että meillä on rajoitettu määrä sarakkeita Excelissä ja kun koodimme antaa komennon mennä alueen ulkopuolelle, saamme 1004 virhe, on muitakin tilanteita, kun saamme tämän virheen, kun viitataan alueeseen, jota ei ole taulukossa.

VBA-virhe 1004 Excelissä

VBA 1004 -virhe on VBA: n ajoaikavirhe ja tapahtuu koodia suoritettaessa. Virheet ovat osa koodausta, varsinkin kun kirjoitat ensimmäistä kertaa, saatat kohdata monia virheitä VBA: ssa. Tämä on yleistä kaikille, eikä siitä ole mitään iso juttu.

Jos kuitenkin tiedät virheen, miksi se on tulossa, voit välttää nuo virheet tulevassa tulevaisuudessa.

Tässä artikkelissa käsitellään yhtä tärkeästä virheestä Excel ”VBA 1004 -virhe”.

6 suosituinta Excel VBA 1004-ajonaikaisvirhettä

Voit ladata tämän VBA 1004 -virhesivun täältä - VBA 1004 -virhemalli

# 1 - VBA-ajonaikainen virhe 1004: Tämä nimi on jo otettu. Kokeile toista:

Tämä virhe ilmenee, kun nimeät taulukkoa uudelleen.

Jos laskentataulukon nimi on jo olemassa ja yrität antaa saman nimen toiselle taulukolle, VBA heittää 1004: n Run Time -virheen sanomalla ”Nimi on jo otettu. Kokeile toista

Katso esimerkiksi alla oleva koodi.

Koodi:

 Alivirhe1004_Example () laskentataulukot ("Sheet2"). Nimi = "Sheet1" End Sub 

Yritän nimetä taulukko 2 uudeksi arkiksi 1. Mutta minulla on jo arkki nimeltä ”Sheet1”.

Jos suoritan tämän koodin F5-avaimella tai manuaalisesti, saan ajonaikaisen virheen 1004: Tämä nimi on jo otettu. Kokeile toista

Joten yritä nimetä taulukko uudelleen.

# 2 - VBA-ajonaikainen virhe 1004: Objektin '_ Global' menetelmä "Range" epäonnistui:

Tämä tapahtuu yleensä, kun yritämme käyttää nimettyä aluetta excelissä kirjoitusvirheellä tai sitä ei ole lainkaan viittaamassasi laskentataulukossa.

Tätä varten olen nimittänyt solualueeksi otsikot, kuten alla olevassa kuvassa näkyy.

Nyt voin käyttää tätä aluetta käyttämällä Range-objektia.

Koodi:

 Alivirhe 1004_Example () -alue ("Otsikot"). Valitse Lopeta ali 

Jos suoritat tämän koodin painamalla F5-näppäintä, tämä koodi valitsee nimetyn alueen.

Mutta jos mainitsen nimetyn alueen väärin, saan ajonaikaisen virheen 1004: Objektin '_ Global' menetelmä "Range" epäonnistui

Koodi:

 Alivirhe1004_Example () Range ("Headngs"). Valitse End Sub 

Suorita tämä koodi manuaalisesti tai F5-näppäimellä ja katso tulos.

# 3 - VBA-ajonaikainen virhe 1004: Alueen luokan menetelmän valinta epäonnistui:

Tämä tapahtuu yleensä, kun yritämme valita muiden kuin aktiivisen taulukon solut tekemättä taulukkoon valintaa tai aktiivisuutta.

Katso esimerkki alla olevasta koodista.

Koodi:

 Alivirhe1004_Example () laskentataulukot ("Sheet1"). Alue ("A1: A5"). Valitse End Sub 

Yllä oleva koodi kertoo solujen A1 - A5 valinnan taulukossa "Sheet1". Kokeilemaan nykyistä aktiivista taulukkoani on "Sheet2", ei "Sheet1".

Suoritan tämän koodin F5-näppäimellä tai manuaalisesti nähdäksesi, mitä tapahtuu.

Saimme ajonaikaisen virheen 1004: Alueen luokan valitseminen epäonnistui. Tämä johtuu siitä, että aktivoimalla taulukkoa yritämme valita kyseisen arkin solut. Joten ensin meidän on aktivoitava pelkkä ennen solujen valitsemista. Alla on oikea koodi.

# 4 - VBA-ajonaikaisen virheen 1004 menetelmä-objektikirjan avaaminen epäonnistui:

Tämä tapahtuu yleensä, kun yrität avata työkirjan, joka on sama nimi kuin toinen jo avattu työkirja.

Katso esimerkki alla olevasta koodista.

Koodi:

 Alivirhe1004_Example () Dim wb as Workbook Set wb = Workbooks.Open ("\\ FileName.xls", ReadOnly: = True, CorruptLoad: = xlExtractData) Lopeta ali 

Tämä heittää alla olevan virheen.

# 5 - VBA ajonaikaisen virheen 1004 menetelmä Valitettavasti emme löytäneet:

Tämä virhe johtuu siitä, että yritettäessä avata tiedosto, jota ei ole mainitussa polussa, se voidaan siirtää, nimetä uudelleen tai poistaa mainitulta polulta. Yksi syy tähän väärän polun tai Excel-laajennuksella varustetun tiedoston nimen vuoksi.

Katsokaa nyt alla olevaa koodia.

Koodi:

 Alivirhe1004_Example () työkirjat.Avaa tiedostonimi: = "E: \ Excel Files \ Infographics \ ABC.xlsx" Lopeta ali 

Tämä koodi kertoo avaavan tiedoston ”ABC.xlsx” mainitussa kansiopolussa.

Varmasti tiedän, että mainitussa kansiopolussa ei ole tiedostoa. Kun mainitussa kansiossa ei ole tiedostoa, saamme ajonaikaisen virheen 1004 menetelmän. Valitettavasti emme löytäneet.

# 6 - VBA-ajonaikainen virhe 1004 Aktivoi menetelmäalueluokka epäonnistui:

Tämä virhe johtuu pääasiassa solualueen aktivoimisesta aktivoimatta laskentataulukkoa.

Katso esimerkki alla olevasta koodista.

Koodi:

 Alivirhe1004_Example () laskentataulukot ("Sheet1"). Alue ("A1: A5"). Aktivoi End Sub 

Tämä virhe on hyvin samanlainen kuin ajoaikavirheessä 1004 nähty : Alueen luokan menetelmän valinta epäonnistui.

Jos suoritan manuaalisesti tai käyttämällä F5-avainta, saamme virheen alle.

Koska aktivoimatta arkkia emme voi aktivoida sen soluja. Aktivoi ensin arkki ja aktivoi sitten kyseisen arkin solut.