VBA Panjang

Apakah Jenis Data Panjang dalam VBA?

Long adalah jenis data dalam VBA yang digunakan untuk menyimpan nilai angka, kita tahu bahawa bilangan bulat juga menyimpan nilai numerik tetapi Long berbeza dari bilangan bulat kerana jarak penyimpanan data sangat besar sekiranya jenis data panjang juga panjang jenis data kita boleh menyimpan nilai perpuluhan juga, ini adalah jenis data terbina dalam.

"Panjang" seperti namanya, seharusnya memiliki nilai sesuatu yang besar. "Long" adalah jenis data berangka dalam VBA Excel.

Jenis data panjang dalam Excel VBA dapat menahan nilai dari 0 hingga 2, 147, 483, 647 untuk nombor positif, dan untuk nombor negatif dapat ditahan dari 0 hingga -2, 147, 483, 648.

Jenis data panjang VBA memerlukan penyimpanan memori sebanyak 4 bait komputer anda, ini adalah memori pemboleh ubah jenis data bilangan bulat dua (2 bait) dan separuh daripada memori pemboleh ubah jenis data berganda (8 bait)

Saya tidak pernah melihat senario di mana saya mahu menggunakan sepenuhnya had jenis data VBA Long dalam karier pendek saya. Tetapi saya akan menunjukkan beberapa contoh untuk memahaminya dengan lebih baik.

Contoh Jenis Data Panjang VBA

Berikut adalah contoh jenis data VBA Long excel.

Anda boleh memuat turun Templat Excel Jenis Data Panjang VBA ini di sini - Templat Excel Jenis Data Panjang VBA

Contoh Panjang VBA # 1

Sebaik sahaja anda menyatakan jenis data pemboleh ubah sebagai "Panjang", anda dapat menetapkan nilai dari -2, 147, 483, 648 hingga 2, 147, 483, 648.

Contohnya, nyatakan pemboleh ubah sebagai jenis data panjang.

Kod:

 Sub Long_Contoh1 () Dim k Sebagai Sub Long End 

Mari berikan nilai sebagai jumlah baris lembaran kerja.

Untuk mendapatkan jumlah baris dalam kod lembaran kerja excel adalah "Baris. Kira ”

Kod:

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

Sekarang tunjukkan nilainya di kotak mesej.

Kod:

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

Jalankan kod ini dan lihat berapa jumlah baris dalam lembaran kerja.

Dikatakan kami mempunyai lebih dari 1 juta baris dalam lembaran kerja.

Sekarang untuk pemahaman yang lebih baik, saya akan menukar jenis data dari LONG ke INTEGER.

Kod:

 Sub Long_Contoh1 () Dim k Sebagai Integer k = Rows.Count MsgBox k End Sub 

Sekiranya saya menjalankan kod VBA, saya akan mendapat mesej ralat sebagai "Overflow".

Sebab mengapa kami mendapat ralat ini di VBA kerana jenis data "Integer" hanya dapat menahan nilai dari -31768 hingga 32767. Dalam kes ini "Baris. Count ”akan mengembalikan nombor yang melebihi had pemboleh ubah“ integer ”.

Menetapkan nilai lebih dari 1 juta kepada pemboleh ubah yang hanya dapat menahan 32767 menyebabkan ralat limpahan di sini.

Contoh Panjang VBA # 2

Cari Baris Terakhir Menggunakan Pembolehubah Panjang

Mencari barisan kerja yang terakhir digunakan adalah pengekodan yang paling penting. Untuk mencari baris terakhir lembaran kerja yang digunakan memerlukan pemboleh ubah dinyatakan. Semasa menyatakan pemboleh ubah dan menetapkan jenis data memerlukan beberapa akal.

Andaikan data anda berakhir pada 25000 baris seperti yang ditunjukkan dalam gambar di bawah.

Sekarang saya tahu nombor baris terakhir digunakan adalah 25000, untuk ini, kita tidak memerlukan jenis data "PANJANG" kerana jenis data "INTEGER" dapat memberi saya baris terakhir.

Lihat kod di bawah untuk maklumat anda.

Kod:

 Sub Long_Contoh1 () Dim k As Integer k = Sel (Rows.Count, 1). End (xlUp). Baris MsgBox k End Sub 

Sekiranya saya menjalankan kod ini, saya akan mendapat nombor baris terakhir dari lembaran kerja yang sedang saya kerjakan pada masa ini.

Sebagai pengekod, penting untuk mengetahui ukuran data yang akan anda miliki pada masa akan datang. Kerana pada masa ini data mungkin berakhir pada baris ke-25000 tetapi jika data meningkat melebihi had "Integer" iaitu 32767, ia menyebabkan kesalahan limpahan.

Sebagai contoh, saya akan menambah data ke baris ke-32768.

Sekarang jika saya menjalankan kod yang sama sekali lagi saya tidak akan mendapat nilainya sebaliknya saya akan mendapat ralat seperti di bawah.

Ingat bahawa saya telah meningkatkan had hanya 1 melampaui had nilai "Integer", jadi saya mendapat ralat Overflow.

Oleh itu, penting untuk mengetahui ukuran data anda sebelum anda menetapkan jenis data kepada pemboleh ubah. Selalu merupakan pilihan yang lebih baik untuk menyatakan pemboleh ubah sebagai "PANJANG" tanpa memikirkan ukuran data anda di masa depan.

Alternatif untuk Excel VBA Long Variable

Anda mesti sudah memikirkan bagaimana jika kita mahu mengekalkan nilainya lebih daripada had pemboleh ubah panjang. Untuk ini, kita perlu menggunakan jenis data yang berbeza iaitu "String" VBA atau "Varian"

Ingat saat ia melintasi nombor 2147483647 kita akan mendapat ralat limpahan dalam VBA dengan jenis data yang PANJANG. Untuk menyimpan lebih daripada nombor ini, kita perlu menggunakan jenis data "String" atau "Varian".

Untuk Rentetan

Kod:

 Sub Long_Contoh2 () Dim k As String k = 2147483648 MsgBox k End Sub 

Untuk Varian

Kod:

 Sub Panjang_Contoh2 () Dim k Sebagai Varian k = 2147483648 MsgBox k Akhir Sub 

Apabila kita menjalankan kod di atas, ia akan menunjukkan nombor yang disebutkan.