Kesalahan Ketidakcocokan Jenis VBA

Kesalahan Ketidakcocokan Jenis VBA

Type mismatch error, atau bisa juga kita sebut dengan Error code 13, terjadi ketika kita memberikan nilai ke variabel yang bukan tipe datanya. Misalnya, jika kita memberikan nilai desimal atau long ke variabel tipe data Integer, kita akan menemui kesalahan Ketidakcocokan tipe ini saat kita menjalankan kode, yang ditampilkan sebagai kode kesalahan 13.

Apa itu Kesalahan Ketidakcocokan Jenis VBA?

Kesalahan Ketidaksesuaian Jenis VBA di excel adalah jenis ‘Run Time Error,’ dan merupakan kesalahan nomor 13 dalam kategori ini.

Untuk mulai belajar di VBA dan untuk pemula, sulit menemukan kesalahan yang dilemparkan oleh kode VBA. Ingat, VBA tidak membuat kesalahan. Sebaliknya, itu hanya menyoroti kesalahan kami saat menulis kode.

Kami biasanya mendeklarasikan variabel. Kami menetapkan tipe data untuk mereka. Saat kita menetapkan nilai ke variabel tersebut, kita perlu mengingat jenis data apa yang dapat disimpannya. Jika nilai yang diberikan tidak sesuai dengan tipe data, kita akan mendapatkan “Run-time error ’13’: Type mismatch.”

templat , dll., Harap berikan kami tautan atribusi

Bagaimana Cara Memperbaiki VBA Type Mismatch Run-time Error 13?

Mari kita lihat beberapa contoh untuk memahami VBA Type Mismatch Error ini.

Ketidakcocokan Jenis VBA – Contoh #1

Lihat kode VBA Kode VBA Kode VBA mengacu pada serangkaian instruksi yang ditulis oleh pengguna dalam bahasa pemrograman Visual Basic Applications pada Visual Basic Editor (VBE) untuk melakukan tugas tertentu.Baca lebih lanjut.

Kode:

Sub Type_MisMatch_Example1() Dim k As Byte k = “Hiii” MsgBox k End Sub

Kami telah mendeklarasikan variabel “k” sebagai Byte.

Variabel “k” dapat menyimpan nilai dari 0 hingga 255. Namun di baris berikutnya, kami telah menetapkan nilai untuk variabel “k” sebagai “Hiii”.

Tipe data tidak dapat menyimpan nilai teks, sehingga Error Ketidakcocokan Tipe muncul.

Ketidakcocokan Jenis VBA – Contoh #2

Sekarang, lihat satu contoh lagi dengan tipe data yang berbeda. Lihatlah kode di bawah ini.

Kode:

Sub Type_MisMatch_Example2() Dim x As Boolean x = 4556 MsgBox x End Sub

Kami telah mendeklarasikan variabel “x” sebagai Boolean.

Boolean adalah tipe data Boolean adalah tipe data Boolean adalah tipe data bawaan di VBA yang digunakan untuk referensi logis atau variabel logis. Nilai yang dipegang oleh tipe data ini adalah BENAR atau SALAH dan digunakan untuk perbandingan logis. Deklarasi tipe data ini serupa dengan semua tipe data lainnya.Baca lebih lanjut yang dapat menyimpan nilai TRUE atau FALSE.

Dalam kode di atas, kami telah menetapkan nilai 4556, yang tidak sesuai dengan nilai tipe data TRUE atau FALSE.

Saat kami menjalankan kode ini, Anda akan mengharapkan kesalahan ketidakcocokan jenis, tetapi lihat apa yang terjadi saat kami menjalankan kode ini.

Anda pasti bertanya-tanya mengapa ini bukan “Run-time error ’13’” atau ketidakcocokan tipe.

Alasannya adalah excel memperlakukan semua angka sebagai BENAR kecuali nol. Jadi, nilai nol akan diperlakukan sebagai FALSE. Jadi itu sebabnya kami mendapatkan hasil sebagai BENAR, bukan kesalahan.

Sekarang lihat, kami akan menetapkan nilai numerik dengan teks.

Kode:

Sub Type_MisMatch_Example2() Dim x As Boolean x = “4556a” MsgBox x End Sub

Ini akan menampilkan “Run-time error ’13’: Type mismatch.”

Ketidakcocokan Jenis VBA – Contoh #3

Sekarang, lihat kode di bawah ini untuk contoh ini.

Kode:

Sub Type_MisMatch_Example4() Dim x As Integer Dim y As String x = 45 y = “2019 Jan” MsgBox x + y End Sub

Variabel “x” adalah tipe data Integer, dan “y” adalah tipe data String.

X = 45 dan y = 2019 Jan.

Di kotak pesan, kami telah menambahkan x + y.

Tapi ini bukan kode yang sempurna karena kita tidak bisa menambahkan angka dengan teks string. Akibatnya, kita akan menemukan “Run-time error ’13.’ “

Ketidakcocokan Jenis VBA – Contoh #4

Kasus Luar Biasa

Ada situasi di mana excel memaafkan kesalahan data yang diberikan ke tipe data variabel. Sebagai contoh, lihat kode di bawah ini.

Kode:

Sub Type_MisMatch_Example3() Dim x Sepanjang Dim y Sepanjang x = 58.85 y = “85” MsgBox x & vbNewLine & y End Sub

Dua variabel yang dideklarasikan adalah “x” dan “y.”

Untuk variabel ini, tipe data yang ditetapkan adalah “Panjang”.

Tipe data panjang hanya menerima bilangan bulat, bukan nilai desimal.

Jadi, persepsi umum adalah mendapatkan “Run-time error 13′” dari jenis kesalahan ketidakcocokan.

Tapi mari kita lihat apa yang terjadi saat kita menjalankan kode ini

Kami mendapat nilai 59 dan 85.

VBA akan mengonversi nilai desimal 58,85 ke nilai integer terdekat. Meskipun angka diapit dengan tanda kutip ganda, itu hanya dikonversi ke nilai integer.

Artikel yang Direkomendasikan

Artikel ini telah menjadi panduan untuk VBA Type Mismatch. Di sini, kami membahas VBA Type Mismatch “Run-time error ’13’ ‘ di VBA dengan contoh dan template Excel yang dapat diunduh. Di bawah ini adalah beberapa artikel bermanfaat yang terkait dengan VBA: –

  • Tipe Data di Excel VBA
  • Apa itu Type Statement di Excel VBA?
  • Apa itu Tipe Data Bilangan Bulat?
  • Kasus Pilih VBA

Related Posts