: Uri na Tinukoy ng User na Hindi Tinukoy sa Excel VBA (2 Mabilis na Solusyon)

  • Ibahagi Ito
Hugh West

Ang isa sa mga pinakakaraniwang error na kinakaharap namin habang nagtatrabaho sa VBA sa Excel ay hindi tinukoy ang uri na tinukoy ng user. Sa artikulong ito, ipapakita ko sa iyo kung bakit sanhi ang error na ito at kung paano lutasin ang error na ito.

I-download ang Workbook ng Practice

I-download ang workbook ng pagsasanay na ito upang mag-ehersisyo habang ikaw ay nagbabasa ng artikulong ito.

Hindi Natukoy ang Uri na Tinukoy ng User.xlsm

2 Mga Sanhi at Solusyon sa Tukoy ng User Uri na Hindi Tinukoy sa Excel VBA

May mga 2 pangunahing isyu sa likod ng madalas na nakakaharap na error sa Excel VBA . Tuklasin natin ang mga ito nang detalyado at alamin ang mga paraan upang malutas ang mga ito.

1. Error sa Spelling Habang Nagdedeklara ng mga Variable

Ito ang pangunahing dahilan sa likod ng error na ito. Kadalasan, ang error na “User-Defined Type not Defined” ay sanhi dahil sa isang error sa spelling habang nagdedeklara ng mga variable.

Tingnan ang mga sumusunod na linya ng mga code.

5805

Kung patakbuhin mo ang code na ito, makakatanggap ka ng isang kahon ng error na nag-aabiso sa iyo ng pagkakaroon ng error “User-Defined Type Not Defined”. Kasabay nito, makikita mo ang pangalawang linya ng code na naka-highlight sa asul, kung saan sinulat ko ang “strng” kapalit ng “string” .

Sana makuha mo ang punto. Hindi makilala ng VBA ang uri ng variable “strng” , kaya naman itinuring itong bagong uri ng variable at naisip na tinukoy mo ito sa isang lugar. Ngunit kapag itonalaman na hindi mo ito idineklara kahit saan, nagtaas ito ng error.

Samakatuwid, habang nagpapatakbo ng mga simpleng VBA code, kung makatagpo ka ng error na ito, suriin muna ang lahat ng mga spelling ng iyong mga uri ng variable.

2. Kakulangan ng Wastong Referencing

Ito ay isa pang dahilan sa likod ng error na ito. Iyon ay isang kakulangan ng tamang sanggunian. Minsan gumagamit kami ng ilang bagay sa aming mga code na nangangailangan ng wastong pagtukoy mula sa Visual Basic Reference box . Kung hindi, hindi nakikilala ng VBA ang object.

Tingnan ang sumusunod na VBA code.

3243

Patakbuhin ang code na ito. Makakakuha ka ng parehong lumang error “User-Defined Type not Defined”, na nagha-highlight sa Dictionary object . Ito ay dahil hindi makilala ng VBA ang Dictionary object , at itinuring ito bilang variable na tinukoy ng user, na hindi natukoy nang mali.

Ngayon ang pinakamalaking tanong ay, paano lutasin ang error na ito? Madali. Mayroong 2 na paraan upang malutas ang error na ito.

⧪ Solusyon 1: Pagsuri sa Prerequisite Reference mula sa Visual Box Reference Box

Ito ang pinakamatalinong paraan upang malutas ang problemang ito. Pumunta sa Tools > Button na Mga Sanggunian sa ribbon na Visual Basic . Mag-click sa Mga Sanggunian .

Magbubukas ang isang dialogue box na tinatawag na Mga Sanggunian . Mag-scroll at hanapin ang Microsoft Scripting Runtime (Depende ito sa object na iyong ginagamit. Ang Dictionaryobject ay nangangailangan ng Microsoft Scripting Runtime na makilala. Kaya, habang gumagamit ng isang bagay sa isang VBA code, dapat mong malaman ang kinakailangan nito upang makilala ng VBA. Bisitahin ang link na ito para sa higit pang impormasyon.). Suriin ito.

Ngayon bumalik at patakbuhin ang code. Hindi ka makakakuha ng anumang mga error. Dahil makikilala ng VBA ang Dictionary object sa pagkakataong ito.

⧪ Solusyon 2: Pagdedeklara Ito bilang isang Purong Bagay sa halip na isang Tukoy na Bagay

May isa pang paraan upang malutas ang problemang ito. Maaari mong ideklara ang object bilang isang purong object, sa halip na isang Dictionary object .

Pansinin ang mga sumusunod na linya ng mga code.

4768

Dito ko idineklara ang variable na MyDictionary bilang isang simpleng bagay, hindi isang Dictionary. Ngayon kung tatakbo ka ng code na ito, hindi ka makakakuha ng anumang error.

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.