VBA Long (Exemplu) | Ghid pas cu pas pentru tipul lung de date în Excel VBA

Ce este un tip de date lung în VBA?

Long este un tip de date în VBA care este utilizat pentru a stoca valorile numerice, știm că întregul deține, de asemenea, valori numerice, dar Long este diferit de numerele întregi, deoarece intervalul pentru stocarea datelor este foarte mare în cazul unui tip de date lung tip de date putem deține și valori zecimale, acesta este un tip de date încorporat.

„Lung”, așa cum spune numele, ar trebui să dețină valoarea a ceva mare. „Long” este un tip de date numerice în VBA Excel.

Tipul lung de date în Excel VBA poate conține valorile de la 0 la 2, 147, 483, 647 pentru numerele pozitive, iar pentru numărul negativ poate deține de la 0 la -2, 147, 483, 648.

Tipul de date VBA Long necesită 4 octeți de stocare a memoriei computerului dvs. Acesta este tipul de date dublu întreg memorie variabilă (2 octeți) și jumătate din memoria variabilă de tip dublu de date (8 octeți)

Nu am văzut niciodată un scenariu în care vreau să folosesc pe deplin limita unui tip de date VBA Long în scurta mea carieră. Dar vă voi arăta câteva exemple pentru a o înțelege mai bine.

Exemple de tip de date lungi VBA

Mai jos sunt exemplele tipului de date Excel VBA Long.

Puteți descărca acest șablon Excel pentru tipul de date lungi VBA aici - Șablon Excel pentru tipul de date lungi VBA

VBA Exemplu lung # 1

De îndată ce declarați tipul de date variabil ca „Lung”, puteți atribui valorile de la -2, 147, 483, 648 la 2, 147, 483, 648.

De exemplu, declarați variabila ca tip de date lung.

Cod:

 Sub Long_Example1 () Dim k As Long End Sub 

Să atribuim valoarea ca număr total de rânduri ale foii de lucru.

Pentru a obține numărul total de rânduri în codul foii de lucru Excel este „Rows. Numara"

Cod:

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

Acum arătați valoarea în caseta de mesaj.

Cod:

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

Rulați acest cod și vedeți care este numărul total de rânduri din foaia de lucru.

Se spune că avem peste 1 milion de rânduri în foaia de lucru.

Acum, pentru o mai bună înțelegere, voi schimba tipul de date de la LONG la INTEGER.

Cod:

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

Dacă rulez codul VBA, voi primi mesajul de eroare „Overflow”.

Motivul pentru care am primit această eroare în VBA, deoarece tipul de date „Întreg” poate conține doar valorile de la -31768 la 32767. În acest caz „Rânduri. Count ”va returna numărul care este mai mare decât limita variabilei„ întreg ”.

Atribuirea valorii de peste 1 milion variabilei care poate conține doar 32767 provoacă aici eroarea de depășire.

VBA Exemplu lung # 2

Găsiți ultimul rând folosind variabila lungă

Găsirea ultimului rând utilizat al foii de lucru este cel mai important din codificare. Pentru a găsi ultimul rând utilizat al foii de lucru, este necesară declararea variabilei. Declararea variabilei și atribuirea unui tip de date necesită un bun simț.

Să presupunem că aveți date care se termină la 25000 de rânduri așa cum se arată în imaginea de mai jos.

Acum știu că ultimul număr de rând folosit este 25000, pentru aceasta, nu avem nevoie de tipul de date „LONG”, deoarece tipul de date „INTEGER” îmi poate da ultimul rând.

Uitați-vă la codul de mai jos pentru informații.

Cod:

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

Dacă rulez acest cod, voi primi ultimul număr de rând folosit al foii de lucru la care lucrez în acest moment.

În calitate de programator, este important să cunoașteți dimensiunea datelor pe care le veți avea în viitor. Deoarece în acest moment datele se pot termina la rândul 25000, dar dacă datele cresc dincolo de limita „întreg”, adică 32767, provoacă o eroare de depășire.

De exemplu, voi mări datele la 32768th rânduri.

Acum, dacă rulez același cod din nou, nu voi obține valoarea, ci voi primi eroarea ca mai jos.

Amintiți-vă că am mărit limita cu doar 1 peste limita valorii „Întreg”, așa că am primit o eroare de depășire.

Deci, este important să cunoașteți dimensiunea datelor dvs. înainte de a atribui un tip de date variabilei. Este întotdeauna o opțiune mai bună să declarați variabila ca „LONG” fără să vă gândiți la dimensiunea datelor dvs. în viitor.

Alternative la Excel VBA Long Variable

Trebuie să vă gândiți deja la ce se întâmplă dacă dorim să menținem valoarea mai mult decât limita unei variabile lungi. Pentru aceasta, trebuie să folosim diferite tipuri de date, adică fie VBA „Șir”, fie „Variant”

Amintiți-vă momentul în care trece numărul 2147483647 vom primi o eroare de depășire în VBA cu tip de date LUNG. Pentru a stoca mai mult decât acest număr, trebuie să folosim tipul de date „String” sau „Variant”.

Pentru String

Cod:

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

Pentru varianta

Cod:

 Sub Long_Example2 () Dim k As Variant k = 2147483648 MsgBox k End Sub 

Când vom rula codurile de mai sus, acesta va afișa numărul menționat.