VBA Long (piemērs) | Soli pa solim ceļvedis par garu datu veidu programmā Excel VBA

Kas ir garais datu tips VBA?

Long ir datu tips VBA, kas tiek izmantots skaitlisko vērtību glabāšanai. Mēs zinām, ka veselam skaitlim ir arī skaitliskas vērtības, bet Long atšķiras no veseliem skaitļiem, jo ​​datu glabāšanas diapazons ir ļoti liels, ja garu datu tips ir arī garš datu tipā mēs varam turēt arī decimālvērtības, tas ir iebūvēts datu tips.

"Long", kā saka nosaukums, tam vajadzētu būt kaut kā liela vērtībai. “Long” ir skaitliskais datu tips VBA Excel.

Excel VBA garajā datu tipā pozitīvajiem skaitļiem var būt vērtības no 0 līdz 2, 147, 483, 647, bet negatīvajam skaitlim - no 0 līdz -2, 147, 483, 648.

VBA garajam datu tipam ir nepieciešami 4 baiti datora atmiņas, tas ir dubultā vesela skaitļa datu tipa mainīgā atmiņa (2 baiti) un puse no dubultās datu tipa mainīgās atmiņas (8 baiti).

Es nekad neesmu redzējis scenāriju, kurā es savā īsajā karjerā vēlētos pilnībā izmantot VBA Long datu veida robežu. Bet es jums parādīšu dažus piemērus, lai to labāk saprastu.

VBA garo datu veida piemēri

Tālāk ir norādīti Excel VBA Long datu veida piemēri.

Šo VBA Long Data Type Excel veidni varat lejupielādēt šeit - VBA Long Data Type Excel veidne

VBA garais piemērs Nr. 1

Tiklīdz mainīgais datu tips ir deklarēts kā “Long”, varat piešķirt vērtības no -2, 147, 483, 648 līdz 2, 147, 483, 648.

Piemēram, paziņojiet mainīgo kā garu datu tipu.

Kods:

 Sub Long_Piemērs1 () Dim k As Long End Sub 

Piešķirsim vērtību kā kopējo darblapas rindu skaitu.

Lai iegūtu kopējo skaitīšanas rindu Excel darblapas kodā, ir “Rindas. Skaitīt ”

Kods:

 Sub Long_Piemērs1 () Dim k As Long k = Rows.Count End Sub 

Tagad parādiet vērtību ziņojuma lodziņā.

Kods:

 Sub Long_Piemērs1 () Dim k As Long k = Rows.Count MsgBox k End Sub 

Palaidiet šo kodu un uzziniet, kāda ir kopējā darblapā esošo rindu summa.

Tajā teikts, ka darblapā mums ir vairāk nekā miljons rindu.

Lai labāk izprastu, mainīšu datu tipu no LONG uz INTEGER.

Kods:

 Sub Long_Piemērs1 () Dim k As Integer k = Rows.Count MsgBox k End Sub 

Ja palaidīšu VBA kodu, kļūdas ziņojums tiks parādīts kā “Pārpildīšana”.

Iemesls, kāpēc mēs saņēmām šo kļūdu VBA, jo datu tips “Integer” var turēt vērtības tikai no -31768 līdz 32767. Šajā gadījumā “Rows. Count ”atgriezīs skaitli, kas pārsniedz mainīgā“ integer ”robežu.

Piešķirot vairāk nekā 1 miljona vērtību mainīgajam, kas var turēt tikai 32767, šeit rodas pārpildes kļūda.

VBA garais piemērs # 2

Izmantojot garo mainīgo, atrodiet pēdējo rindu

Kodēšana ir vissvarīgākā darblapas pēdējās izmantotās rindas atrašana. Lai atrastu pēdējo izmantoto darblapas rindu, ir jādeklarē mainīgais. Lai gan mainīgā deklarēšanai un datu veida piešķiršanai ir vajadzīgs saprāts.

Pieņemsim, ka jūsu datu beigas ir 25000 rindas, kā parādīts zemāk esošajā attēlā.

Tagad es zinu, ka pēdējais izmantotais rindas numurs ir 25000, tāpēc mums nav nepieciešams “LONG” datu tips, jo “INTEGER” datu tips var dot man pēdējo rindu.

Lai iegūtu informāciju, skatiet zemāk esošo kodu.

Kods:

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

Ja es palaidīšu šo kodu, es saņemšu pēdējā izmantotās darblapas rindas numuru, pie kura es pašlaik strādāju.

Kā kodētājam ir svarīgi zināt datu apjomu, kas jums būs nākotnē. Tā kā pašlaik dati var beigties ar 25000. rindu, bet, ja dati palielinās virs “Integer” robežas, ti, 32767, tas izraisa pārpildes kļūdu.

Piemēram, es palielināšu datus līdz 32768. rindām.

Tagad, ja es atkal palaidīšu to pašu kodu, es nedabūšu vērtību, drīzāk es saņemšu kļūdu, kā norādīts zemāk.

Atcerieties, ka esmu palielinājis ierobežojumu tikai par 1, pārsniedzot “Integer” vērtības robežu, tāpēc es saņēmu pārpildes kļūdu.

Tāpēc ir svarīgi zināt savu datu lielumu, pirms mainīgajam piešķirat datu tipu. Vienmēr ir labāka iespēja deklarēt mainīgo kā “LONG”, nedomājot par savu datu lielumu nākotnē.

Alternatīvas Excel VBA Long Variable

Jums jau jādomā par to, kā rīkoties, ja mēs vēlamies turēt vērtību vairāk par garā mainīgā robežu. Lai to izdarītu, mums jāizmanto dažādi datu tipi, ti, vai nu VBA “String”, vai “Variant”

Atcerieties brīdi, kad tas šķērso skaitli 2147483647, mēs saņemsim pārpildes kļūdu VBA ar LONG datu tipu. Lai saglabātu vairāk nekā šo numuru, mums jāizmanto datu tips “String” vai “Variant”.

Stīgai

Kods:

 Sub Long_Piemērs2 () Dim k As virkne k = 2147483648 MsgBox k End Sub 

Par variantu

Kods:

 Sub Long_Piemērs2 () Dim k As Variants k = 2147483648 MsgBox k End Sub 

Kad mēs palaidīsim iepriekš minētos kodus, tas parādīs minēto numuru.


$config[zx-auto] not found$config[zx-overlay] not found