VBA 1004 klaida (6 populiariausi tipai) - Kaip ištaisyti vykdymo klaidą 1004 VBA?

VBA 1004 klaida yra vykdymo laiko klaida VBA, kuri taip pat žinoma kaip programos apibrėžta arba objekto apibrėžta klaida, ir kodėl taip yra todėl, kad „Excel“ programoje turime ribotą stulpelių skaičių ir kai mūsų kodas duoda komandą išeiti už diapazono ribų, gauname 1004 klaida, yra ir kitų atvejų, kai gauname šią klaidą, kai nurodome diapazoną, kurio lape nėra.

„Excel“ VBA klaida 1004

VBA 1004 klaida yra VBA vykdymo laiko klaida, atsirandanti vykdant kodą. Klaidos yra neatsiejama kodavimo dalis, ypač kai rašote pirmą kartą, galite aptikti daug klaidų VBA. Tai būdinga visiems, ir dėl to nėra didelio reikalo.

Tačiau žinodamas klaidą, kodėl jis ateina, artimiausioje ateityje tų klaidų išvengsi.

Šiame straipsnyje aptarsime vieną iš svarbių „Excel“ klaidų „VBA 1004 klaida“.

6 populiariausios „Excel VBA 1004“ vykdymo laiko klaidos

# 1 - VBA vykdymo laiko klaida 1004: šis vardas jau užimtas. Išbandykite kitą:

Ši klaida įvyksta pervadinant lapą.

Jei darbalapio pavadinimas jau yra ir jei bandote tą patį pavadinimą priskirti kitam lapui, VBA išmeta 1004 vykdymo laiko klaidą nurodydama „Pavadinimas jau yra paimtas. Išbandykite kitą. “

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

Klaidos klaida1004_Example () darbalapiai („Sheet2“). Pavadinimas = „Sheet1“ Pabaiga Sub

Bandau pervadinti 2 lapą kaip 1 lapą. Bet aš jau turiu lapą pavadinimu „Sheet1“.

Jei paleisiu šį kodą naudodamas F5 klavišą arba rankiniu būdu, gausiu vykdymo laiko klaidą 1004: tas vardas jau paimtas. Išbandykite kitą.

Taigi, pabandykite atitinkamai pervadinti lapą.

# 2 - VBA vykdymo laiko klaida 1004: nepavyko objekto „_ Global“ metodo „Range“:

Tai dažniausiai įvyksta tada, kai bandome pasiekti „Excel“ pavadintą diapazoną su rašybos klaida arba to visai nėra jūsų nurodytame darbalapyje.

Tam aš pavadinau langelių diapazoną kaip „Antraštės“, kaip parodyta žemiau esančiame paveikslėlyje.

Dabar naudodamas objektą „Range“ galiu pasiekti šį diapazoną.

Kodas:

Sub klaidos1004_Example () diapazonas („Antraštės“). Pasirinkite Baigti antrinę dalį

Jei paleisite šį kodą paspausdami klavišą F5, šis kodas pasirinks pavadintą diapazoną.

Bet jei neteisingai paminėsiu pavadintą diapazoną, gausiu vykdymo laiko klaidą 1004: nepavyko objekto „_ Global“ metodo „Range“.

Kodas:

Sub klaidos1004_Example () diapazonas („Headngs“). Pasirinkite End Sub

Paleiskite šį kodą rankiniu būdu arba naudodami klavišą F5 ir pamatykite rezultatą.

# 3 - VBA vykdymo laiko klaida 1004: nepavyko pasirinkti diapazono klasės metodo:

Dažniausiai tai atsitinka, kai bandome pasirinkti kitas nei aktyvus lapas langelius nedarant lapo pasirinkto ar aktyvaus.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

Klaidos klaida1004_Example () darbalapiai („Sheet1“). Diapazonas („A1: A5“). Pasirinkite End Sub

Aukščiau pateiktas kodas sako, kad reikia pasirinkti langelius nuo A1 iki A5 darbalapyje „Sheet1“. Norėdami eksperimentuoti, mano dabartinis aktyvus lapas yra „Sheet2“, o ne „Sheet1“.

Aš paleisiu šį kodą naudodamas F5 klavišą arba rankiniu būdu, kad pamatyčiau, kas vyksta.

Gavome vykdymo laiko klaidą 1004: Pasirinkti diapazono klasės metodą nepavyko. Taip yra todėl, kad neaktyvindami lapo bandome pasirinkti to lapo langelius. Taigi, prieš pasirinkdami langelius, turime suaktyvinti vien tiktai. Žemiau yra teisingas kodas.

# 4 - nepavyko atidaryti VBA vykdymo klaidos 1004 metodo objekto darbaknygių:

Tai dažniausiai įvyksta, kai bandote atidaryti darbaknygę, kuri yra tas pats pavadinimas, kaip ir kita jau atidaryta darbaknygė.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

Klaidos klaida1004_Example () Dim wb as Workbook Set wb = Workbooks.Open ("\ FileName.xls", ReadOnly: = True, CorruptLoad: = xlExtractData) Pabaiga

Tai sukels žemiau pateiktą klaidą.

# 5 - VBA vykdymo klaidos 1004 metodas Deja, nepavyko rasti:

Ši klaida atsiranda dėl to, kai bandote atidaryti failą, kurio nėra minėtame kelyje. Tai gali būti perkelta, pervadinta arba ištrinta iš paminėto kelio. Viena iš to priežasčių yra neteisingas kelio ar failo pavadinimo tipas su „Excel“ plėtiniu.

Dabar pažvelkite į žemiau esantį kodą.

Kodas:

Klaidos klaidos1004_Example () darbaknygės. Atidarykite failo pavadinimą: = "E: Excel Files Infographics ABC.xlsx" Pabaiga

Šis kodas nurodo atidaryti failą „ABC.xlsx“ minėtame aplanko kelyje.

Tikrai, žinau, kad minėtame aplanko kelyje nėra failo. Kai minėtame aplanke nėra failo, gausime „ Runtime Error 1004“ metodą. Atsiprašau, bet mes negalėjome jo rasti.

# 6 - VBA vykdymo klaida 1004 nepavyko suaktyvinti metodų diapazono klasės:

Ši klaida įvyksta daugiausia dėl to, kad suaktyvinamas langelių diapazonas, neaktyvinant darbalapio.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

Klaidos klaida1004_Example () darbalapiai („Sheet1“). Diapazonas („A1: A5“). Suaktyvinkite „End Sub“

Ši klaida yra labai panaši į tą, kurią matėme vykdymo laiko klaidoje 1004: Pasirinkti diapazono klasės metodą nepavyko.

Jei paleisiu rankiniu būdu arba naudodamas F5 klavišą, gausime žemiau klaidą.

Nes neaktyvindami lapo negalime suaktyvinti jame esančių ląstelių. Taigi pirmiausia suaktyvinkite lapą, tada suaktyvinkite to lapo langelius.

Įdomios straipsniai...