Edukien taula
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.