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.

„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 Long típusú adatokhoz 4 bájt memória szükséges a számítógéphez. Ez a dupla egész típusú adattípusú változó memória (2 bájt) és a dupla 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.

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 megkapja az Excel munkalap kódjában, 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, 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, a hibaüzenetet „Túlcsordulás” néven kapom meg.

Azért kaptuk ezt a hibát a VBA-ban, mert az „Integer” 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, amint az az alábbi képen látható.

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 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 pillanatnyilag az adatok a 25000- ik sorban 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 32768- as sorokra növelem az adatokat .

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

Ne feledje, hogy a korlátot csak 1-rel növeltem 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 rendelne 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 a hosszú változó határánál nagyobb értéket akarunk tartani. Ehhez különféle adattípusokat kell használnunk, például VBA „String” vagy „Variant”.

Ne feledje, hogy abban a pillanatban, amikor átlépi a 2147483647 számot, túlcsordulási hibát kapunk a VBA-ban a LONG adattípussal. 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.

érdekes cikkek...