VBA Ganda

Tipe Data Ganda VBA Excel

VBA Double adalah jenis tipe data yang kami tetapkan untuk mendeklarasikan variabel, yang merupakan versi yang lebih baik atau lebih lama dari variabel tipe data "Tunggal" dan biasanya digunakan untuk menyimpan tempat desimal yang lebih panjang.

Tipe data VBA Integer selalu mengonversi nilai desimal ke nilai integer terdekat, tipe data tunggal dapat menampilkan hingga dua digit tempat desimal. Di sisi lain, tipe data "Ganda" dapat menyimpan nilai dari -1.79769313486231E308 hingga -4.94065645841247E324 untuk nilai negatif dan untuk bilangan positif dapat menyimpan nilai dari 4.94065645841247E-324 hingga 1.79769313486232E308 .

Lebih penting lagi, ini mengkonsumsi 8 byte memori.

Contoh untuk menggunakan Tipe Data Ganda VBA

Anda dapat mengunduh Template Excel Ganda VBA ini di sini - Template Excel Ganda VBA

Contoh 1

Sebelum kita melihat contoh tipe data “Double” mari kita lihat contoh kode tipe data “Integer” dan “Single” di VBA. Lihat kode VBA di bawah ini.

Kode:

 Sub Integer_Ex () Dim k Sebagai Integer k = 2.569999947164 MsgBox k End Sub 

Saya telah mendeklarasikan variabel "k" sebagai Integer dan untuk variabel ini, saya telah menetapkan nilainya sebagai 2.569999947164.

Mari kita jalankan kode ini secara manual atau menggunakan tombol pintas excel F5, untuk melihat nilai akhir di kotak pesan di VBA.

Hasilnya ditampilkan sebagai 3, bukan nomor yang disediakan dari 2.569999947164. Alasannya karena VBA telah mengubah angka tersebut menjadi nilai integer terdekat yaitu 3.

Ketika nilai desimal lebih dari 0,5 maka akan diubah menjadi nilai integer berikutnya dan ketika nilai desimal kurang dari 0,51 maka akan dikonversi ke nilai integer di bawah.

Sekarang saya akan mengubah tipe data dari Integer menjadi Single.

Kode:

 Sub Integer_Ex () Dim k Sebagai Tunggal k = 2.569999947164 MsgBox k End Sub 

Jalankan kode melalui tombol pintas F5, dan lihat nomor apa yang kita dapatkan kali ini.

Kali ini kami mendapat hasil sebagai 2,57, jadi kali ini kami mendapat dua tempat desimal. Nilai asli yang kami tetapkan adalah 2.569999947164, jadi dalam kasus ini, ketiga, nilai desimal yang ditempatkan adalah 9, jadi karena ini lebih dari 5, nilai tersebut telah mengubah nilai desimal tempat kedua 6 menjadi 7.

Sekarang ubah tipe data dari Tunggal menjadi Ganda.

Kode:

 Sub Integer_Ex () Dim k Sebagai Ganda k = 2.569999947164 MsgBox k End Sub 

Sekarang jalankan kode secara manual dan lihat berapa digit yang kita dapatkan di kotak pesan hasil.

Kali ini mendapatkan semua nilai desimal. Kami dapat menyediakan hingga 14 digit tempat desimal di bawah tipe data ganda.

Jika Anda memasukkan nilai yang lebih besar dari 14 posisi desimal akan dikonversi ke nilai terdekat. Sebagai contoh lihat gambar di bawah ini.

Saya telah mengetik 15 tempat desimal, bukan 14, jika saya menekan tombol enter, itu akan kembali ke 14 digit saja.

Alih-alih 59 (dua digit terakhir), kami mendapat 6 yaitu karena digit terakhir adalah 9 yang lebih besar dari 5 angka sebelumnya 5 diubah menjadi nilai bilangan bulat berikutnya yaitu 6

Contoh # 2

Sekarang saya akan menunjukkan cara bekerja dengan referensi sel di lembar kerja. Di bawah ini adalah nomor yang telah saya masukkan di lembar kerja.

Mari kita mulai menangkap nilai yang sama ke berikutnya dengan menggunakan tipe data INTEGER , tipe data TUNGGAL , dan tipe DOUBLE .

Di bawah ini adalah kode untuk mempertahankan nilai dari kolom A ke B dengan menggunakan tipe data INTEGER.

Kode:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Integer For k = 1 To 6 CellValue = Cells (k, 1]. Value Cells (k, 2) .Value = CellValue Next k End Sub 

Mari kita jalankan kode melalui tombol pintas F5, untuk melihat nilai apa yang kita dapatkan di kolom B.

Ketika kita telah menggunakan Integer sebagai tipe data kita mendapatkan semua bilangan bulat yaitu tanpa desimal.

Sekarang saya hanya akan mengubah tipe data vba variabel dari integer ke Single.

Kode:

 Sub Double_Ex () Dim k Sebagai Integer Redup CellValue Sebagai Tunggal Untuk k = 1 Hingga 6 CellValue = Sel (k, 1). Nilai Sel (k, 2) .Value = CellValue Berikutnya k Akhir Sub 

Kode ini akan memberikan hasil di bawah ini.

Kali ini kami hanya mendapat dua tempat desimal.

Sekarang mengubah tipe data dari tunggal menjadi ganda.

Kode:

 Sub Double_Ex () Dim k Sebagai Integer Redupkan CellValue Sebagai Ganda Untuk k = 1 hingga 6 CellValue = Sel (k, 1). Nilai Sel (k, 2) .Value = CellValue Berikutnya k Akhir Sub 

Ini akan mengembalikan hasil di bawah ini.

Kami mendapatkan nilai pasti dari kolom A.

Hal-hal untuk diingat

  • Ganda adalah tipe data yang ditingkatkan dari tipe data tunggal.
  • Dapat menampung hingga 14 tempat desimal.
  • Ini mengkonsumsi 8 byte memori sistem.