VBA Long (piemērs) - Soli pa solim ilga datu veida rokasgrāmata programmā Excel VBA

Satura rādītājs

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 ilgs datu tips ir arī garš datu tipā mēs varam turēt arī decimālvērtības, tas ir iebūvēts datu tips.

“Garš”, 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 krātuves. Šī ir dubultā vesela skaitļa datu tipa mainīgā atmiņa (2 baiti) un puse no dubultā datu tipa mainīgā atmiņa (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.

VBA garais piemērs Nr. 1

Tiklīdz mainīgā tipa datu deklarēšana ir “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. Lai to izdarītu, 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_Piemērs1 () Dim k As Integer k = Šūnas (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 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 25000. rindā, 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 th 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 vērtības “Integer” 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, ka brīdī, kad tas šķērso skaitli 2147483647, mēs iegūsim 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.

Interesanti raksti...