: Erabiltzaileak definitutako mota ez dago Excel VBA-n (2 irtenbide azkar)

  • Partekatu Hau
Hugh West

Excel-en VBA rekin lan egiten dugun bitartean jasaten dugun akats ohikoenetako bat erabiltzaileak definitutako mota ez dagoela definitu da. Artikulu honetan, errore hau zergatik sortu den eta errore hori nola konpondu erakutsiko dizut.

Deskargatu Praktika-koadernoa

Deskargatu praktika-koaderno hau ariketak egiteko artikulu hau irakurtzen ari dira.

Erabiltzaileak Definitutako Mota Ez da Definitua.xlsm

2 Erabiltzaileak Definitutakoaren kausa eta irtenbideak Idatzi Ez dago definitu Excel VBA-n

Excel-en VBA maiz aurkitutako errore honen atzean 2 arazo handiak daude. Azter ditzagun zehatz-mehatz eta konpon ditzagun bideak.

1. Ortografia-errorea aldagaiak deklaratzean

Hau da errore honen arrazoi nagusia. Gehienetan, errorea “Erabiltzaileak definitutako mota ez da definitu” aldagaiak deklaratzean akats ortografiko baten ondorioz sortzen da.

Begiratu kode lerro hauek.

7842

Kode hau exekutatzen baduzu, errore-koadro bat agertuko zaizu “Erabiltzaileak Definitutako Mota Ez da Definituta” errorea dagoela jakinarazten dizuna. Berarekin batera, urdinez nabarmendutako kodearen bigarren lerroa aurkituko duzu, non “strng” idatzi nuen “katea” ren ordez.

Espero dut puntua jasotzea. VBA ezin izan da aldagai mota ezagutu “strng” , horregatik aldagai mota berritzat hartu du eta nonbait definitu duzula pentsatu du. Baina noizinon deklaratu ez duzula ikusi du, errore bat sortu du.

Hori dela eta, VBA kode sinpleak exekutatzen ari zaren bitartean, errore hau aurkitzen baduzu, lehenik eta behin egiaztatu zure aldagai motaren ortografia guztiak.

2. Erreferentzia egokirik eza

Hau da errore honen atzean dagoen beste arrazoi bat. Hori erreferentzia egokirik eza da. Batzuetan, Visual Basic Reference koadrotik erreferentzia egokia behar duten objektu batzuk erabiltzen ditugu gure kodeetan. Bestela, VBA k ez du objektua ezagutzen.

Begiratu hurrengo VBA kodea.

2873

Exekutatu kode hau. Errore zahar bera jasoko duzu "Erabiltzaileak definitutako mota ez da definitu", Hiztegiko objektua nabarmenduz. Hau da VBA ezin izan duelako Hiztegiko objektua ezagutu, eta erabiltzaileak definitutako aldagaitzat hartu duelako, oker definitu ez dena.

Orain galderarik handiena da, nola konpondu errore hau? Erraza. Errore hau konpontzeko 2 modu daude.

⧪ 1. irtenbidea: Ikusizko Kutxaren erreferentzia-koadroko aurrebaldintzen erreferentzia egiaztatzea

Hau da arazo hau konpontzeko modurik adimentsuena. Joan Tresnak > Erreferentziak botoia Visual Basic zintako. Sakatu Erreferentziak .

Erreferentziak izeneko elkarrizketa-koadroa irekiko da. Joan eta bilatu Microsoft Scripting Runtime (erabiltzen ari zaren objektuaren araberakoa da. Hiztegiaobjektuak Microsoft Scripting Runtime ezagutu behar du. Beraz, objektu bat VBA kode batean erabiltzen duzun bitartean, VBA-k ezagutu ahal izateko duen aurrebaldintza ezagutu behar duzu. Bisitatu esteka hau informazio gehiago lortzeko.). Egiaztatu.

Orain itzuli eta exekutatu kodea. Ez duzu akatsik jasoko. VBA k Hiztegiko objektua ezagut dezakeelako oraingoan.

⧪ 2. irtenbidea: Objektu puru gisa deklaratzea Objektu zehatza baino

Arazo hau konpontzeko beste modu bat dago. Objektua objektu huts gisa deklara dezakezu, Hiztegiko objektua baino.

Ohartu kode-lerro hauek.

2848

Hemen MyDictionary aldagaia objektu soil gisa deklaratu dut, ez Hiztegi bat. Orain kode hau exekutatzen baduzu, ez duzu errorerik izango.

Hugh West esperientzia handiko Excel prestatzaile eta analista da, industrian 10 urte baino gehiagoko esperientzia duena. Kontabilitate eta Finantzetan Lizentziatua eta Enpresen Administrazioko Masterra da. Hughek irakasteko grina du eta jarraitzeko eta ulertzeko erraza den irakaskuntza-ikuspegi berezia garatu du. Excel-en ezagutza adituak mundu osoko milaka ikasle eta profesionalei beren gaitasunak hobetzen eta beren karreran bikaintzen lagundu die. Bere blogaren bidez, Hughek bere ezagutzak munduarekin partekatzen ditu, doako Excel tutorialak eta lineako prestakuntza eskainiz, pertsona eta enpresei beren potentzial osoa lortzen laguntzeko.