Fungsi CDBL VBA

Fungsi CDBL Excel VBA

VBA CDBL adalah fungsi penukaran jenis data terbina dalam dan penggunaan fungsi ini adalah untuk mengubah jenis data dari nilai pemboleh ubah yang diberikan menjadi jenis data berganda, fungsi ini hanya mengambil satu argumen yang merupakan nilai pemboleh ubah itu sendiri.

Dalam VBA "CDBL" adalah singkatan dari "Convert to Double". Fungsi ini menukar nombor yang diberikan kepada Jenis data berganda. Lihat sintaks fungsi CDBL.

  • Ekspresi adalah nilai yang cuba kita ubah menjadi jenis data berganda.

Sebarang nombor terapung yang disimpan selain daripada jenis data berganda boleh ditukar dengan menggunakan fungsi CDBL.

Perhatikan di sini: Hanya nilai berangka yang boleh ditukar menjadi Jenis data berganda. Apa-apa selain daripada nilai berangka tidak dapat ditukar menjadi jenis berganda, jadi tunjukkan "Jenis Kesalahan Ketidakcocokan dalam VBA" seperti di bawah.

Adakah anda pernah menggunakan jenis data berganda dalam pengekodan VBA?

Sekiranya tidak, perhatikan sekarang. Double adalah jenis data yang digunakan untuk menyimpan kedudukan perpuluhan nombor. Kita boleh mempunyai hingga 13 nombor perpuluhan terapung.

Sebagai contoh lihat kod VBA di bawah.

Di atas, saya telah menentukan jenis pemboleh ubah (k) sebagai Integer. Dim k Sebagai Integer

Seterusnya, saya telah memberikan nilai sebagai k = 25.4561248694615

Apabila saya menjalankan kod, kita akan mendapat hasilnya seperti berikut.

Kami mendapat hasilnya sebagai 25. Oleh kerana kami telah menentukan pemboleh ubah sebagai bulat Integer VBA ke nilai integer terdekat.

Untuk menunjukkan hasilnya sebagaimana mestinya kita perlu mengubah jenis pemboleh ubah dari Integer menjadi Double.

Ini mesti memberi kita nombor yang tepat semasa kita memberikan pemboleh ubah.

Baiklah, dengan mengingatnya, kita juga boleh menukar semua nombor pecahan yang disimpan sebagai jenis data bukan berganda.

Contoh Menggunakan Fungsi CDBL VBA

Anda boleh memuat turun Templat Fungsi CDBL VBA ini di sini - Templat Fungsi CDBL VBA

Contoh # 1

Untuk memulakan prosiding mari lihat kod di bawah.

Kod:

 Sub Double_Contoh1 () Dim k As String k = 48.14869569 MsgBox k End Sub 

Sekarang saya akan menjalankan kod dan melihat apa yang berlaku.

Walaupun jenis pemboleh ubah VBA adalah "String", ia tetap menunjukkan nilai perpuluhan. Ini kerana String boleh menjadi jenis data apa pun sehingga nombor perpuluhan atau terapung ditunjukkan sebagaimana adanya.

Sekarang saya akan menukar jenis data dari rentetan menjadi Integer.

Kod:

 Sub Double_Contoh1 () Dim k As Integer k = 48.14869569 MsgBox k Akhir Sub 

Sekarang saya akan menjalankan kod dan melihat apa yang berlaku.

Di sinilah fungsi CDBL memainkan peranan penting untuk menukar jenis data integer menjadi dua kali ganda. Jadi kod di bawah adalah sama untuk anda.

Kod:

 Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub 

Ini akan menukar nilai jenis data rentetan menjadi Double.

Contoh # 2

Sekarang mari kita menukar nombor 854.6947 yang disimpan sebagai Varian ke Jenis data berganda.

Kod:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber Sebagai Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

Pemboleh ubah pertama yang saya nyatakan sebagai "Varian". Dim VaraintNumber

Catatan: Apabila jenis pemboleh ubah tidak diisytiharkan, ia menjadi Varian jenis data sejagat.

Seterusnya, saya telah menyatakan satu lagi pemboleh ubah iaitu Dim DoubleNumber As Double

Untuk pemboleh ubah pertama VaraintNumber, kami telah menetapkan nilai sebagai 854.6947.

Sekarang dengan menggunakan pemboleh ubah kedua, kami telah menerapkan fungsi CDBL untuk menukar nilai Varian ke Jenis data berganda.

DoubleNumber = CDbl (VaraintNumber)

Bahagian terakhir adalah menunjukkan hasilnya di kotak mesej. MsgBox DoubleNumber

Sekarang saya akan menjalankan kod untuk melihat hasilnya.

Perkara yang Perlu Diingat

  • Jenis data berganda hanya boleh menerima nombor berangka.
  • Sekiranya nilai teks dibekalkan, ia akan menyebabkan kesalahan Type Mismatch.
  • Jenis data berganda hanya dapat memaparkan 13 digit nombor terapung.