: Foydalanuvchi tomonidan belgilangan tur Excel VBA da aniqlanmagan (2 ta tezkor echim)

  • Buni Baham Ko'Ring
Hugh West

Excelda VBA bilan ishlashda biz duch keladigan eng keng tarqalgan xatolardan biri bu foydalanuvchi tomonidan belgilangan turning aniqlanmaganligidir. Ushbu maqolada men sizga nima uchun bu xatolik yuzaga kelganligini va bu xatoni qanday hal qilishni ko'rsataman.

Mashq qilish kitobini yuklab oling

Mashq qilish uchun ushbu mashq kitobini yuklab oling. ushbu maqolani oʻqimoqda.

Foydalanuvchi tomonidan aniqlangan tur Belgilanmagan.xlsm

2 sabablari va yechimlari Foydalanuvchi tomonidan aniqlangan Excel VBA da turi aniqlanmagan

Excel VBA da tez-tez uchrab turadigan bu xato ortida 2 asosiy muammo bor. Keling, ularni batafsil o'rganib chiqamiz va ularni hal qilish yo'llarini aniqlaymiz.

1. O'zgaruvchilarni e'lon qilishda imlo xatosi

Ushbu xatoning asosiy sababi shu. Ko'pincha “Foydalanuvchi tomonidan belgilangan tur aniqlanmagan” xatosi o'zgaruvchilarni e'lon qilishda imlo xatosi tufayli yuzaga keladi.

Quyidagi kod qatorlariga qarang.

2539

Agar siz ushbu kodni ishga tushirsangiz, “Foydalanuvchi tomonidan aniqlangan tur aniqlanmagan” xatosi borligi haqida xabar beruvchi xato oynasini olasiz. U bilan birga siz kodning koʻk rang bilan ajratilgan ikkinchi qatorini topasiz, u yerda men “string” oʻrniga “strng” yozganman.

Umid qilamanki, siz fikrni tushunasiz. VBA o'zgaruvchi turini taniy olmadi “strng” , shuning uchun u uni yangi o'zgaruvchi turi deb hisobladi va siz uni biror joyda aniqlagan deb o'yladi. Lekin qachonSiz uni hech qayerda e'lon qilmaganligingizni aniqladingiz, u xatoga sabab bo'ldi.

Shuning uchun oddiy VBA kodlarini ishlatayotganda, agar siz qandaydir tarzda bu xatoga duch kelsangiz, avval o'zgaruvchi turlarining barcha imlolarini tekshiring.

2. To'g'ri havolaning yo'qligi

Bu xatoning yana bir sababi. Bu to'g'ri havolaning etishmasligi. Ba'zan biz kodlarimizda Visual Basic Reference box dan to'g'ri havolaga muhtoj bo'lgan ba'zi ob'ektlardan foydalanamiz. Aks holda, VBA ob'ektni tanimaydi.

Quyidagi VBA kodiga qarang.

2227

Ushbu kodni ishga tushiring. Siz bir xil eski xatoni olasiz “Foydalanuvchi tomonidan belgilangan tur aniqlanmagan”, Lug'at obyektini ta'kidlab . Buning sababi, VBA Lug'at ob'ektini taniy olmadi va uni foydalanuvchi tomonidan belgilangan o'zgaruvchi sifatida ko'rib chiqdi, bu xato aniqlanmagan.

Endi eng katta savol - bu xatoni qanday hal qilish kerak? Oson. Bu xatoni yechishning 2 usullari mavjud.

⧪ 1-yechim: Visual Box ma'lumot qutisidan zaruriy havolani tekshirish

Bu bu muammoni hal qilishning eng aqlli usuli. Asboblar > Visual Basic lentasidagi References tugmasi. Ma'lumotnomalar tugmasini bosing.

Ma'lumotnomalar deb nomlangan dialog oynasi ochiladi. O'ting va Microsoft Scripting Runtime -ni toping (Bu siz foydalanayotgan ob'ektga bog'liq. Lug'atob'ekt tan olinishi uchun Microsoft Scripting Runtime kerak. Shunday qilib, VBA kodida ob'ektdan foydalanayotganda, VBA tomonidan tan olinishi uchun uning zaruriy shartini bilishingiz kerak. Qo'shimcha ma'lumot olish uchun ushbu havolaga tashrif buyuring.). Uni tekshiring.

Endi qaytib keling va kodni ishga tushiring. Siz hech qanday xatoga duch kelmaysiz. Chunki VBA bu safar Lug'at obyektini taniy oladi.

⧪ 2-yechim: Uni maxsus ob'ekt emas, balki sof ob'ekt sifatida e'lon qilish

Bu muammoni hal qilishning yana bir yo'li bor. Ob'ektni Lug'at ob'ekti emas, balki sof ob'ekt sifatida e'lon qilishingiz mumkin.

Quyidagi kod qatorlariga e'tibor bering.

3062

Bu yerda men MyDictionary oʻzgaruvchisini Lugʻat emas, balki oddiy obʼyekt sifatida eʼlon qildim. Endi bu kodni ishga tushirsangiz, hech qanday xatolikka yoʻl qoʻymaysiz.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.