Kaip išspręsti VBA klaidą „Aptiktas dviprasmiškas vardas“

Anonim

Dirbdami su VBA, vykdydami procedūrą galite gauti šį klaidos langą. Ši klaida sako: „Aptiktas dviprasmiškas pavadinimas: procedūros pavadinimas". Šiame straipsnyje mes sužinosime, kodėl atsiranda ši klaida ir kaip ją išspręsti.

Kodėl ši klaida?

Iššokantis langas sako, kad VBA variklis aptiko vieną ar daugiau procedūrų tuo pačiu pavadinimu tame pačiame modulyje. Tai sukėlė painiavą VBA varikliui. Taigi VBA praneša apie klaidą.

Kaip išspręsti šią problemą?

Tai lengva. Neturėkite dviejų vienodų procedūrų tuo pačiu pavadinimu viename modulyje. Pakeiskite procedūros pavadinimą, ištrinkite arba perkelkite į kitą modulį.

Ši klaida paprastai pasirodo dirbant su „Excel“ įvykiai.

Tarkime, kad dirbate 1 lape su darbalapio įvykiais. Dabar norite suaktyvinti pranešimą, kai tik vartotojas pakeis langelio pasirinkimą. Tokiu atveju naudosite įvykį „Worksheet_SelectionChange ()“.

Dabar vėl norite užduoti keletą klausimų vartotojams, kai vartotojas keičia langelių pasirinkimą. Tada turėsite naudoti tą patį įvykį. Dabar jūs parašėte dvi įvykių tvarkymo procedūras skirtingoms užduotims atlikti.

Privatus antrinis darbalapis_SelectionChange („ByVal Target As Range“) „MsgBox“ „Sveiki“ Pabaigai Privatus antrinis darbalapis_SelectionChange („ByVal Target As Range“) Application.InputBox („kas jūs esate?“) Pabaiga 

Dabar, kai pakeisite lapo pasirinkimą, gausite tai.

Dabar, kai pakeisite lapo pasirinkimą, gausite tai.

Žiūrėkite, kad „Excel“ to neleidžia. Jūs negalite turėti dviejų ar daugiau vienodų funkcijų pavadinimų modulyje. Net ne renginiuose. Tai veda prie neaiškumų.

Dabar, jei to paties įvykio metu norite atlikti skirtingą užduotį, turite įvesti tą kodą į tą pačią įvykio procedūrą. Naudokite sąlygas įvykiams valdyti.

Žemiau pateiktas įvykis veiks puikiai. Kai vartotojas pakeis langelio pasirinkimą lape1, jis parodys sveikinimo pranešimą ir po to užduos naudotojui klausimą su įvesties langeliu.

Privatus antrinis darbalapis_SelectionChange („ByVal Target As Range“) „MsgBox“ „Sveiki“ Application.InputBox („kas jūs esate?“) Pabaiga 

Dabar, kai dviprasmybių nebeliko, įvykis veiks visiškai gerai ir vėl negausite klaidingos dviprasmiško pavadinimo aptikimo klaidos.

Taigi taip, vaikinai, taip galite išspręsti neaiškumų klaidą „Excel VBA“. Tikiuosi, kad tai buvo naudinga. Jei turite kokių nors abejonių dėl šio straipsnio ar bet kurio kito straipsnio, paklauskite manęs komentarų skiltyje žemiau.

Nuoroda Ar netinkama „Excel“ klaida ir kaip ją išspręsti? : Ši klaida atsiranda, kai nurodome objektą ar vietą, kurios nėra arba kuri pasikeitė. Norėdami išspręsti šią problemą, mes ieškome nuorodos.

Įvykiai „Excel VBA“ | „Excel“ yra septynių tipų įvykiai. Kiekvienas renginys yra skirtingos apimties. Programos įvykis susijęs su darbaknygės lygiu. Darbo knyga lapo lygiu. Darbo lapo įvykis diapazono lygiu.

Užduoties įvykiai „Excel VBA“ | Skaičiuoklės įvykiai yra tikrai naudingi, kai norite, kad jūsų makrokomandos būtų paleistos, kai lape įvyksta nurodytas įvykis.

Darbaknygės įvykiai naudojant VBA „Microsoft Excel“ | Darbo knygos įvykiai veikia su visa darbo knyga. Kadangi visi lapai yra darbo knygos dalis, šie įvykiai taip pat tinka jiems.

Neleisti vykdyti automatinės makrokomandos/įvykio makrokomandos naudojant VBA programoje „Microsoft Excel“ | Norėdami užkirsti kelią automatinio atidarymo makrokomandai, naudokite klavišą „Shift“.

Diagramuokite objekto įvykius naudodami VBA programoje „Microsoft Excel“ | Diagramos yra sudėtingi objektai, prie kurių pridedate kelis komponentus. Norėdami sudaryti diagramos įvykius, naudojame klasės modulį.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų dar labiau pagreitins jūsų darbą naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečią vertę, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti „SUMIF“ funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.