VBA Long (példa) | Lépésről lépésre útmutató az Excel VBA hosszú adattípusához

Mi a hosszú adattípus a VBA-ban?

A Long a VBA adattípusa, amelyet a numerikus értékek tárolására használnak, tudjuk, hogy az egész számértékeket is tartalmaz, de a Long különbözik az egészektől, mivel az adatok tárolási tartománya nagyon hosszú hosszú adattípusok esetén is hosszú adattípus decimális értékeket is tarthatunk, ez egy beépített adattípus.

A „hosszú”, amint a neve mondja, valami nagy értékét meg kell, hogy tartsa. A „Long” egy numerikus adattípus a VBA Excel programban.

Az Excel VBA hosszú adattípusa 0 és 2, 147, 483, 647 értékeket tarthat a pozitív számokhoz, a negatív számhoz pedig 0 és -2, 147, 483, 648 értéket.

A VBA hosszú adattípushoz 4 bájt memória szükséges a számítógéphez, ez a dupla egész adattípusú változó memória (2 bájt) és a kettős adattípusú változó memória fele (8 bájt)

Még soha nem láttam olyan forgatókönyvet, ahol rövid karrierem alatt teljes mértékben ki akarom használni a VBA Long adattípus korlátját. De megmutatok néhány példát, hogy jobban megértsd.

Példák a VBA hosszú adattípusára

Az alábbiakban bemutatjuk az excel VBA Long adattípus példáit.

Itt töltheti le ezt a VBA hosszú adattípusú Excel sablont - VBA hosszú adattípusú Excel sablont

1. számú VBA hosszú példa

Amint a változó adattípust „Hosszúnak” deklarálja, az -2, 147, 483, 648 és 2, 147, 483, 648 értékeket rendelheti hozzá.

Nyújtsa be például a változót hosszú adattípusnak.

Kód:

 Sub Long_Példa1 () Dim k As Long End Sub 

Rendeljük hozzá az értéket a munkalap teljes sorszámaként.

Ahhoz, hogy az összesített munkasorszámot az excel munkalap kódban megkapja, a „Sorok. Számol"

Kód:

 Sub Long_Példa1 () Dim k As Long k = Rows.Count End Sub 

Most mutassa meg az értéket az üzenetmezőben.

Kód:

 Sub Long_Példa1 () Dim k As Long k = Rows.Count MsgBox k End Sub 

Futtassa ezt a kódot, és nézze meg, hogy mennyi a munkalap összes sora.

Azt mondja, hogy több mint 1 millió sor van a munkalapon.

A jobb megértés érdekében az adattípust LONG-ról INTEGER-re változtatom.

Kód:

 Sub Long_Példa1 () Dim k As Integer k = Rows.Mount MsgBox k End Sub 

Ha futtatom a VBA kódot, akkor a hibaüzenetet „Overflow” néven kapom meg.

Azért kaptuk ezt a hibát a VBA-ban, mert az „Egész” adattípus csak -31768 és 32767 közötti értékeket képes megtartani. Ebben az esetben „Sorok. Count ”azt a számot adja vissza, amely meghaladja az„ egész ”változó határértékét.

Több mint 1 millió érték hozzárendelése a változóhoz, amely csak 32767-et képes befogadni, itt okozza a túlcsordulási hibát.

VBA 2. hosszú példa

Keresse meg az utolsó sort a hosszú változó használatával

A kódolás legfontosabb a munkalap utolsó használt sorának megkeresése. A munkalap utoljára használt sorának megtalálásához változót kell deklarálni. Míg a változó deklarálása és adattípus hozzárendelése némi józan észre van szükség.

Tegyük fel, hogy az adatok 25000 sorral végződnek, az alábbi képen látható módon.

Most már tudom, hogy az utoljára használt sorszám 25000, ehhez nincs szükségünk a „LONG” adattípusra, mert az „INTEGER” adattípus adhatja meg nekem az utolsó sort.

Nézze meg az alábbi kódot.

Kód:

 Hosszú_Example1 () Dim k As egész szám k = Cells (Rows. Count, 1). End (xlUp). Sor MsgBox k End Sub 

Ha futtatom ezt a kódot, akkor megkapom a munkalap utolsó használt sorszámát, amelyen jelenleg dolgozom.

Kódolóként fontos tudni a jövőben rendelkezésére álló adatok méretét. Mivel jelenleg az adatok a 25000. sornál végződhetnek, de ha az adatok meghaladják az „Egész” határértéket, azaz a 32767-et, akkor túlcsordulási hibát okoz.

Például az adatokat 32768. sorokra növelem.

Most, ha ugyanazt a kódot futtatom újra, nem kapom meg az értéket, inkább az alábbiak szerint fogom megkapni a hibát.

Ne feledje, hogy csak 1-vel növeltem a határt az „Egész” érték határán túl, így túlcsordulási hibát kaptam.

Ezért fontos tudni, hogy mekkora az adata, mielőtt adattípust rendel a változóhoz. Mindig jobb megoldás, ha a változót „LONG” -nak nyilvánítja, anélkül, hogy a jövőben az adatméretére gondolna.

Az Excel VBA hosszú változó alternatívái

Már biztosan azon gondolkodik, hogy mi van, ha az értéket meghaladni akarjuk egy hosszú változó határán. Ehhez különféle adattípusokat kell használnunk, azaz VBA „String” vagy „Variant”

Ne feledje azt a pillanatot, amikor átlépi a 2147483647 számot. Ennél a számnál több tárolásához a „String” vagy „Variant” adattípust kell használnunk.

Húrra

Kód:

 Sub Long_Példa2 () Dim k As String k = 2147483648 MsgBox k End Sub 

A Variant számára

Kód:

 Hosszú_példa2 () Dim k mint variáns k = 2147483648 MsgBox k Vége Sub 

Amikor a fenti kódokat futtatjuk, megjelenik az említett szám.