VBA Panjang

Apa itu Tipe Data Panjang di VBA?

Long adalah tipe data dalam VBA yang digunakan untuk menyimpan nilai numerik, kita tahu bahwa integer juga menyimpan nilai numerik tetapi Long berbeda dengan integer karena range untuk penyimpanan data sangat besar jika tipe data yang panjang juga panjang. tipe data kita dapat menyimpan nilai desimal juga, ini adalah tipe data bawaan.

“Panjang” seperti namanya, itu harus memiliki nilai sesuatu yang besar. “Long” adalah tipe data numerik di VBA Excel.

Tipe data panjang di Excel VBA dapat menampung nilai dari 0 hingga 2, 147, 483, 647 untuk bilangan positif, dan untuk bilangan negatif dapat menampung dari 0 hingga -2, 147, 483, 648.

VBA Tipe data panjang membutuhkan 4 byte penyimpanan memori komputer Anda, ini adalah memori variabel tipe data integer ganda (2 byte) dan setengah dari memori variabel tipe data ganda (8 byte)

Saya belum pernah melihat skenario di mana saya ingin sepenuhnya memanfaatkan batas tipe data VBA Long dalam karier singkat saya. Tapi saya akan menunjukkan beberapa contoh untuk memahaminya dengan lebih baik.

Contoh Tipe Data Panjang VBA

Di bawah ini adalah contoh tipe data excel VBA Long.

Anda dapat mengunduh Templat Excel Tipe Data Panjang VBA ini di sini - Templat Excel Tipe Data Panjang VBA

Contoh Panjang VBA # 1

Segera setelah Anda mendeklarasikan tipe data variabel sebagai "Long", Anda dapat menetapkan nilai dari -2, 147, 483, 648 hingga 2, 147, 483, 648.

Misalnya, mendeklarasikan variabel sebagai tipe data panjang.

Kode:

 Sub Long_Example1 () Dim k Sebagai Long End Sub 

Mari tetapkan nilai sebagai jumlah baris total lembar kerja.

Untuk mendapatkan jumlah baris pada kode lembar kerja excel adalah “Rows. Menghitung"

Kode:

 Sub Long_Example1 () Dim k As Long k = Rows.Count End Sub 

Sekarang tunjukkan nilai di kotak pesan.

Kode:

 Sub Long_Example1 () Dim k As Long k = Rows. Hitung MsgBox k End Sub 

Jalankan kode ini dan lihat berapa jumlah baris di lembar kerja.

Dikatakan kami memiliki lebih dari 1 juta baris di lembar kerja.

Sekarang untuk pemahaman yang lebih baik, saya akan mengubah tipe data dari LONG menjadi INTEGER.

Kode:

 Sub Long_Example1 () Dim k Sebagai Integer k = Rows. Hitung MsgBox k End Sub 

Jika saya menjalankan kode VBA, saya akan mendapatkan pesan kesalahan sebagai "Overflow".

Alasan mengapa kami mendapatkan kesalahan ini di VBA karena tipe data "Integer" hanya dapat menampung nilai -31768 hingga 32767. Dalam hal ini "Baris. Count "akan mengembalikan angka yang melebihi batas variabel" integer ".

Menetapkan nilai lebih dari 1 juta ke variabel yang hanya dapat menampung 32767 menyebabkan kesalahan luapan di sini.

Contoh Panjang VBA # 2

Temukan Baris Terakhir Menggunakan Variabel Panjang

Menemukan baris terakhir dari lembar kerja yang digunakan adalah pengkodean yang paling penting. Untuk menemukan baris terakhir dari lembar kerja yang digunakan membutuhkan variabel untuk dideklarasikan. Sementara mendeklarasikan variabel dan menugaskan tipe data membutuhkan akal sehat.

Asumsikan Anda memiliki data yang berakhir pada 25000 baris seperti yang ditunjukkan pada gambar di bawah ini.

Sekarang saya tahu nomor baris yang terakhir digunakan adalah 25000, untuk ini, kita tidak memerlukan tipe data “LONG” karena tipe data “INTEGER” dapat memberikan saya baris terakhir.

Lihat kode di bawah ini untuk informasi Anda.

Kode:

 Sub Long_Example1 () Dim k As Integer k = Cells (Rows.Count, 1). End (xlUp) .Row MsgBox k End Sub 

Jika saya menjalankan kode ini, saya akan mendapatkan nomor baris terakhir dari lembar kerja yang saya kerjakan saat ini.

Sebagai pembuat kode, penting untuk mengetahui ukuran data yang akan Anda miliki di masa mendatang. Karena pada saat ini data mungkin berakhir pada baris ke 25000 tetapi jika data meningkat melebihi batas “Integer” yaitu 32767, hal itu menyebabkan kesalahan luapan.

Misalnya, saya akan meningkatkan data menjadi baris ke-32768.

Sekarang jika saya menjalankan kode yang sama lagi saya tidak akan mendapatkan nilai melainkan saya akan mendapatkan kesalahan seperti di bawah ini.

Ingat saya telah meningkatkan batas hanya 1 di luar batas nilai "Integer", jadi saya mendapat kesalahan Overflow.

Jadi, penting untuk mengetahui ukuran data Anda sebelum Anda menetapkan tipe data ke variabel. Itu selalu merupakan pilihan yang lebih baik untuk menyatakan variabel sebagai "PANJANG" tanpa memikirkan ukuran data Anda di masa mendatang.

Alternatif untuk Excel VBA Long Variable

Anda pasti sudah memikirkan bagaimana jika kita ingin menahan nilai lebih dari batas variabel panjang. Untuk ini, kita perlu menggunakan tipe data yang berbeda, misalnya "String" VBA atau "Variant"

Ingat saat melewati angka 2147483647 kita akan mendapatkan error overflow pada VBA dengan tipe data LONG. Untuk menyimpan lebih dari angka ini kita perlu menggunakan tipe data "String" atau "Variant".

Untuk String

Kode:

 Sub Long_Example2 () Dim k Sebagai String k = 2147483648 MsgBox k End Sub 

Untuk Varian

Kode:

 Sub Long_Example2 () Dim k Sebagai Varian k = 2147483648 MsgBox k End Sub 

Ketika kami menjalankan kode di atas, itu akan menunjukkan nomor yang disebutkan.