: Jenis Ditakrifkan Pengguna Tidak Ditakrifkan dalam Excel VBA (2 Penyelesaian Pantas)

  • Berkongsi Ini
Hugh West

Salah satu ralat paling biasa yang kami hadapi semasa bekerja dengan VBA dalam Excel ialah jenis yang ditentukan pengguna tidak ditakrifkan. Dalam artikel ini, saya akan menunjukkan kepada anda sebab ralat ini disebabkan dan cara menyelesaikan ralat ini.

Muat turun Buku Kerja Amalan

Muat turun buku kerja amalan ini untuk bersenam semasa anda sedang membaca artikel ini.

Jenis Ditakrifkan Pengguna Tidak Ditakrifkan.xlsm

2 Punca dan Penyelesaian kepada Ditakrifkan Pengguna Jenis Tidak Ditakrifkan dalam Excel VBA

Terdapat 2 isu utama di sebalik ralat yang sering ditemui ini dalam Excel VBA . Mari terokainya secara terperinci dan ketahui cara untuk menyelesaikannya.

1. Ralat Ejaan Semasa Mengisytiharkan Pembolehubah

Ini adalah sebab utama di sebalik ralat ini. Selalunya, ralat “Jenis Ditentukan Pengguna tidak Ditentukan” disebabkan oleh ralat ejaan semasa mengisytiharkan pembolehubah.

Lihat baris kod berikut.

3052

Jika anda menjalankan kod ini, anda akan mendapat kotak ralat yang memberitahu anda tentang kehadiran ralat “Jenis Ditentukan Pengguna Tidak Ditakrifkan”. Bersama-sama dengannya, anda akan menemui baris kedua kod yang diserlahkan dengan warna biru, tempat saya menulis “strng” sebagai ganti “rentetan” .

Saya harap anda faham maksudnya. VBA tidak dapat mengecam jenis pembolehubah “strng” , itulah sebabnya ia menganggapnya sebagai jenis pembolehubah baharu dan menganggap anda telah menentukannya di suatu tempat. Tetapi apabila iamendapati anda tidak mengisytiharkannya di mana-mana, ia menimbulkan ralat.

Oleh itu, semasa menjalankan kod VBA mudah, jika anda menghadapi ralat ini bagaimanapun, semak semua ejaan jenis pembolehubah anda dahulu.

2. Kekurangan Rujukan yang Betul

Ini adalah satu lagi punca di sebalik ralat ini. Itu adalah kekurangan rujukan yang betul. Kadangkala kami menggunakan beberapa objek dalam kod kami yang memerlukan rujukan yang betul daripada kotak Rujukan Asas Visual . Jika tidak, VBA tidak mengecam objek.

Lihat pada kod VBA berikut.

2686

Jalankan kod ini. Anda akan mendapat ralat lama yang sama “Jenis Ditentukan Pengguna tidak Ditakrifkan”, menyerlahkan objek Kamus . Ini kerana VBA tidak dapat mengecam objek Kamus dan menganggapnya sebagai pembolehubah yang ditentukan pengguna, yang tidak ditakrifkan secara salah.

Kini persoalan terbesar ialah, bagaimana untuk menyelesaikan ralat ini? Mudah. Terdapat 2 cara untuk menyelesaikan ralat ini.

⧪ Penyelesaian 1: Menyemak Rujukan Prasyarat daripada Kotak Rujukan Kotak Visual

Ini ialah cara paling bijak untuk menyelesaikan masalah ini. Pergi ke Alat > Butang Rujukan dalam reben Visual Basic . Klik pada Rujukan .

Kotak dialog yang dipanggil Rujukan akan dibuka. Tatal dan cari Microsoft Scripting Runtime (Ini bergantung pada objek yang anda gunakan. Kamusobject memerlukan Microsoft Scripting Runtime untuk dikenali. Jadi, semasa menggunakan objek dalam kod VBA , anda mesti mengetahui prasyaratnya untuk diiktiraf oleh VBA. Lawati pautan ini untuk mendapatkan maklumat lanjut.). Semak ia.

Sekarang kembali dan jalankan kod. Anda tidak akan mendapat sebarang ralat. Kerana VBA boleh mengecam objek Kamus kali ini.

⧪ Penyelesaian 2: Mengisytiharkannya sebagai Objek Tulen dan bukannya Objek Khusus

Terdapat cara lain untuk menyelesaikan masalah ini. Anda boleh mengisytiharkan objek sebagai objek tulen, bukannya Objek kamus .

Perhatikan baris kod berikut.

3723

Di sini saya telah mengisytiharkan pembolehubah MyDictionary sebagai objek ringkas, bukan Kamus. Sekarang jika anda menjalankan kod ini, anda tidak akan mendapat sebarang ralat.

Hugh West ialah jurulatih dan penganalisis Excel yang sangat berpengalaman dengan lebih 10 tahun pengalaman dalam industri. Beliau memiliki Ijazah Sarjana Muda Perakaunan dan Kewangan serta Ijazah Sarjana dalam Pentadbiran Perniagaan. Hugh mempunyai minat untuk mengajar dan telah membangunkan pendekatan pengajaran yang unik yang mudah diikuti dan difahami. Pengetahuan pakar Excel beliau telah membantu beribu-ribu pelajar dan profesional di seluruh dunia meningkatkan kemahiran mereka dan cemerlang dalam kerjaya mereka. Melalui blognya, Hugh berkongsi pengetahuannya dengan dunia, menawarkan tutorial Excel percuma dan latihan dalam talian untuk membantu individu dan perniagaan mencapai potensi penuh mereka.