: Tipe yang Ditentukan Pengguna Tidak Ditentukan di Excel VBA (2 Solusi Cepat)

  • Bagikan Ini
Hugh West

Salah satu kesalahan paling umum yang kami hadapi saat bekerja dengan VBA di Excel adalah bahwa tipe yang ditentukan pengguna tidak ditentukan. Pada artikel ini, saya akan menunjukkan kepada Anda mengapa kesalahan ini disebabkan dan bagaimana mengatasi kesalahan ini.

Unduh Buku Kerja Praktik

Unduh buku kerja latihan ini untuk latihan saat Anda membaca artikel ini.

Tipe yang Ditentukan Pengguna Tidak Ditentukan.xlsm

2 Penyebab dan Solusi untuk Tipe yang Ditentukan Pengguna Tidak Ditentukan di Excel VBA

Ada 2 masalah utama di balik kesalahan yang sering ditemui di Excel ini VBA Mari kita jelajahi secara rinci dan mencari tahu cara-cara untuk menyelesaikannya.

1. Kesalahan Ejaan Saat Mendeklarasikan Variabel

Ini adalah alasan utama di balik kesalahan ini. Sering kali, kesalahan "Tipe yang Ditentukan Pengguna tidak Ditetapkan" disebabkan karena kesalahan ejaan saat mendeklarasikan variabel.

Lihatlah baris-baris kode berikut ini.

 Sub User_Defined_Type_not_Defined() Dim Name As Strng Name = "ExcelWIKI" MsgBox Name End Sub 

Jika Anda menjalankan kode ini, Anda akan mendapatkan kotak kesalahan yang memberitahukan adanya kesalahan tersebut "Tipe yang Ditentukan Pengguna Tidak Ditetapkan". Bersamaan dengan itu, Anda akan menemukan baris kedua kode yang disorot dengan warna biru, di mana saya menulis "strng" sebagai pengganti "string" .

Saya harap Anda mengerti maksudnya. VBA tidak bisa mengenali tipe variabel "strng" , itulah sebabnya ia menganggapnya sebagai tipe variabel baru dan mengira Anda telah mendefinisikannya di suatu tempat. Tetapi ketika ia menemukan Anda belum mendeklarasikannya di mana pun, itu menimbulkan kesalahan.

Oleh karena itu, sewaktu menjalankan VBA kode, jika Anda menemukan kesalahan ini, pertama-tama periksa semua ejaan jenis variabel Anda.

2. Kurangnya Referensi yang Tepat

Ini adalah penyebab lain di balik kesalahan ini. Itu adalah kurangnya referensi yang tepat. Kadang-kadang kita menggunakan beberapa objek dalam kode kita yang membutuhkan referensi yang tepat dari Kotak Referensi Visual Basic Jika tidak, VBA tidak mengenali objek.

Lihatlah yang berikut ini VBA kode.

 Sub User_Defined_Type_not_Defined() Dim MyDictionary As Dictionary Set MyDictionary = CreateObject("Scripting.Dictionary") End Sub 

Jalankan kode ini. Anda akan mendapatkan kesalahan lama yang sama "Tipe yang Ditentukan Pengguna tidak Ditetapkan", menyoroti Objek kamus Ini karena VBA tidak bisa mengenali Objek kamus dan menganggapnya sebagai variabel yang ditentukan pengguna, yang belum didefinisikan secara keliru.

Sekarang pertanyaan terbesarnya adalah, bagaimana mengatasi kesalahan ini? Mudah. Ada 2 cara untuk mengatasi kesalahan ini.

⧪ Solusi 1: Memeriksa Referensi Prasyarat dari Kotak Referensi Kotak Visual

Ini adalah cara paling cerdas untuk memecahkan masalah ini. Alat> Referensi tombol di Visual Basic pita. Klik pada Referensi .

Kotak dialog yang disebut Referensi akan terbuka. Gulir dan temukan Microsoft Scripting Runtime (Ini tergantung pada objek yang Anda gunakan. Objek kamus kebutuhan Microsoft Scripting Runtime untuk dikenali. Jadi, saat menggunakan objek dalam sebuah VBA kode, Anda harus mengetahui prasyaratnya untuk dikenali oleh VBA. Kunjungi tautan ini untuk informasi lebih lanjut). Periksa.

Sekarang kembali dan jalankan kodenya. Anda tidak akan mendapatkan kesalahan apa pun. karena VBA dapat mengenali Objek kamus kali ini.

⧪ Solusi 2: Mendeklarasikannya sebagai Objek Murni dan bukannya Objek Spesifik

Ada cara lain untuk menyelesaikan masalah ini. Anda bisa mendeklarasikan objek sebagai objek murni, bukan sebagai Objek kamus .

Perhatikan baris kode berikut ini.

 Sub User_Defined_Type_not_Defined() Dim MyDictionary As Object Set MyDictionary = CreateObject("Scripting.Dictionary") End Sub 

Di sini saya telah mendeklarasikan variabel Kamus Saya sebagai objek sederhana, bukan Kamus. Sekarang jika Anda menjalankan kode ini, Anda tidak akan mendapatkan kesalahan apa pun.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.