VBA 1004 kļūda (6 galvenie veidi) - Kā novērst izpildlaika kļūdu 1004 VBA?

VBA 1004 kļūda ir izpildlaika kļūda VBA, kas ir pazīstama arī kā lietojumprogrammas vai objekta definēta kļūda, un kāpēc tas ir tāpēc, ka Excel programmā ir ierobežots kolonnu skaits un kad mūsu kods dod komandu iziet ārpus diapazona, mēs saņemam 1004 kļūda, ir arī citas situācijas, kad mēs saņemam šo kļūdu, atsaucoties uz diapazonu, kura lapā nav.

VBA kļūda 1004 programmā Excel

VBA 1004 kļūda ir darbības laika kļūda VBA un rodas, palaižot kodu. Kļūdas ir neatņemama kodēšanas sastāvdaļa, īpaši, rakstot pirmo reizi, VBA var rasties daudzas kļūdas. Tas ir izplatīts visiem, un par to nav lielas lietas.

Tomēr, zinot kļūdu, kāpēc tā nāk, jūs nākamajā nākotnē izvairīsities no šīm kļūdām.

Šajā rakstā mēs apspriedīsim vienu no svarīgām kļūdām Excel “VBA 1004 kļūda”.

6 populārākās Excel VBA 1004 izpildlaika kļūdas

# 1 - VBA izpildes laika kļūda 1004: šis nosaukums jau ir aizņemts. Izmēģiniet citu:

Šī kļūda rodas, pārdēvējot lapu.

Ja darblapas nosaukums jau pastāv un ja mēģināt to pašu nosaukumu piešķirt citai lapai, VBA izmet izpildes laika kļūdu 1004, norādot “Nosaukums jau ir uzņemts. Izmēģiniet citu. ”

Piemēram, apskatiet zemāk redzamo kodu.

Kods:

Apakškļūda1004_Example () darblapas ("Sheet2"). Nosaukums = "Sheet1" Beigas Sub

Mēģinu pārdēvēt 2. lapu par 1. lapu. Bet man jau ir lapa ar nosaukumu “Sheet1”.

Ja es palaidīšu šo kodu, izmantojot F5 taustiņu vai manuāli, es saņemšu izpildes laika kļūdu 1004: šis nosaukums jau ir aizņemts. Izmēģiniet citu.

Tātad, mēģiniet attiecīgi pārdēvēt lapu.

# 2 - VBA izpildes laika kļūda 1004: Objekta “_ Global” metode “Range” neizdevās:

Tas parasti notiek, kad mēs mēģinām piekļūt nosauktajam diapazonam excel ar pareizrakstības kļūdu vai tā vispār nav darblapā, uz kuru atsaucaties.

Šim nolūkam šūnu diapazonu esmu nosaucis kā “Virsraksti”, kā parādīts zemāk esošajā attēlā.

Tagad, izmantojot objektu Range, es varu piekļūt šim diapazonam.

Kods:

Apakškļūda1004_Example () Range ("Headings"). Atlasiet End Sub

Ja palaidīsit šo kodu, nospiežot taustiņu F5, šis kods atlasīs nosaukto diapazonu.

Bet, ja nosaukto diapazonu pieminēšu nepareizi, saņemšu izpildes laika kļūdu 1004: Objekta '_ Global' metode “Range” neizdevās.

Kods:

Apakškļūda1004_Example () Range ("Headngs"). Atlasiet End Sub

Palaidiet šo kodu manuāli vai izmantojot taustiņu F5 un skatiet rezultātu.

# 3 - VBA izpildes laika kļūda 1004: diapazona klases metodes izvēle neizdevās:

Tas parasti notiek, kad mēs mēģinām atlasīt citas šūnas, nevis aktīvo lapu, neliekot lapu atlasīt vai aktīvu.

Piemēram, apskatiet zemāk redzamo kodu.

Kods:

Apakškļūda1004_Example () darblapas ("Sheet1"). Diapazons ("A1: A5"). Atlasiet End Sub

Iepriekš minētais kods saka atlasīt šūnas A1 līdz A5 darblapā “Sheet1”. Lai eksperimentētu, mana pašreizējā aktīvā lapa ir “Sheet2”, nevis “Sheet1”.

Es palaidīšu šo kodu, izmantojot F5 taustiņu, vai manuāli, lai redzētu, kas notiek.

Mēs saņēmām izpildes laika kļūdu 1004: neizdevās atlasīt diapazona klases metodi. Tas tāpēc, ka, neaktivizējot lapu, mēs cenšamies atlasīt šīs lapas šūnas. Tātad, pirms mēs atlasām šūnas, mums ir jāaktivizē milzīgais lielums. Zemāk ir pareizs kods.

# 4 - VBA izpildlaika kļūda 1004 neizdevās atvērt objekta darbgrāmatas:

Tas parasti notiek, mēģinot atvērt darbgrāmatu, kas ir tāds pats nosaukums kā otra jau atvērta darbgrāmata.

Piemēram, apskatiet zemāk redzamo kodu.

Kods:

Apakškļūda1004_Example () Dim wb As Workbook Set wb = Workbooks.Open ("\ FileName.xls", ReadOnly: = True, CorruptLoad: = xlExtractData) Beigu apakšdaļa

Tas radīs zemāk redzamo kļūdu.

# 5 - VBA izpildlaika kļūda 1004 Diemžēl mēs nevarējām atrast:

Šī kļūda rodas, mēģinot atvērt failu, kas nepastāv minētajā ceļā. To var pārvietot, pārdēvēt vai dzēst no minētā ceļa. Viens no iemesliem tam ir nepareiza ceļa vai faila nosaukuma tips ar Excel paplašinājumu.

Tagad ieskatieties zemāk redzamajā kodā.

Kods:

Apakškļūda1004_Example () darbgrāmatas. Atveriet faila nosaukumu: = "E: Excel Files Infographics ABC.xlsx" Beigu apakšdaļa

Šis kods saka atvērt failu “ABC.xlsx” minētajā mapes ceļā.

Protams, es zinu, ka minētajā mapes ceļā nav faila. Kad minētajā mapē nav faila, mēs iegūsim Runtime Error 1004 metodi. Atvainojiet, un mēs to nevarējām atrast.

# 6 - VBA izpildlaika kļūda 1004 Metode diapazona klases aktivizēšana neizdevās:

Šī kļūda rodas galvenokārt tāpēc, ka tiek aktivizēts šūnu diapazons, neaktivizējot darblapu.

Piemēram, apskatiet zemāk redzamo kodu.

Kods:

Apakškļūda1004_Example () darblapas ("Sheet1"). Diapazons ("A1: A5"). Aktivizējiet End Sub

Šī kļūda ir ļoti līdzīga tai, kuru esam redzējuši izpildes laika kļūdā 1004: klases Metode diapazona izvēle neizdevās

Ja es palaidīšu manuāli vai izmantojot F5 taustiņu, mēs saņemsim kļūdu zemāk.

Tā kā, neaktivizējot lapu, mēs nevaram aktivizēt šūnas tajā. Tātad vispirms aktivizējiet lapu un pēc tam aktivizējiet šīs lapas šūnas.

Interesanti raksti...