Mahaba ang VBA (Halimbawa) | Hakbang sa Hakbang sa Hakbang sa Long Data Type sa Excel VBA

Ano ang isang Long Type ng Data sa VBA?

Ang haba ay isang uri ng data sa VBA na ginagamit upang mag-imbak ng mga halagang bilang, alam namin na ang integer ay nagtataglay din ng mga halagang bilang ngunit ang Long ay naiiba mula sa mga integer dahil ang saklaw para sa pag-iimbak ng data ay napakalaki kung sakaling mahaba ang uri ng data pati na rin sa mahabang uri ng data maaari naming hawakan ang mga halagang decimal. masyadong, ito ay isang inbuilt na uri ng data.

"Mahaba" tulad ng sinabi ng pangalan, dapat itong hawakan ang halaga ng isang bagay na malaki. Ang "Mahaba" ay isang uri ng bilang ng data sa VBA Excel.

Ang mahabang uri ng data sa Excel VBA ay maaaring hawakan ang mga halaga mula 0 hanggang 2, 147, 483, 647 para sa mga positibong numero, at para sa negatibong numero na mahahawakan nito mula 0 hanggang -2, 147, 483, 648.

Ang VBA Long data type ay nangangailangan ng 4 bytes ng memory storage ng iyong computer, ito ang doble integer uri ng variable na memorya ng uri (2 bytes) at kalahati ng doble memorya ng variable ng uri ng data (8 bytes)

Hindi pa ako nakakita ng isang senaryo kung saan nais kong ganap na magamit ang limitasyon ng isang uri ng data ng VBA Long sa aking maikling karera. Ngunit ipapakita ko sa iyo ang ilan sa mga halimbawa upang higit na maunawaan ito.

Mga halimbawa ng VBA Long Data Type

Nasa ibaba ang mga halimbawa ng excel VBA Long data type.

Maaari mong i-download ang VBA Long Data Type Excel Template dito - VBA Long Data Type Excel Template

Mahabang Halimbawa ng VBA # 1

Sa sandaling ideklara mo ang variable na uri ng data bilang "Mahaba", maaari mong italaga ang mga halaga mula -2, 147, 483, 648 hanggang 2, 147, 483, 648.

Halimbawa, ideklara ang variable bilang mahabang uri ng data.

Code:

 Sub Long_Example1 () Dim k Bilang Long End Sub 

Italaga natin ang halaga bilang isang kabuuang bilang ng hilera ng worksheet.

Upang makakuha ng kabuuang mga bilang ng mga hilera sa excel worksheet code ay “Mga hilera. Bilangin ”

Code:

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

Ipakita ngayon ang halaga sa kahon ng mensahe.

Code:

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

Patakbuhin ang code na ito at tingnan kung ano ang bilang ng kabuuang mga hilera sa worksheet.

Sinasabi nito na mayroon kaming higit sa 1 milyong mga hilera sa worksheet.

Ngayon para sa mas mahusay na pag-unawa, babaguhin ko ang uri ng data mula sa LONG patungo sa INTEGER.

Code:

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

Kung tatakbo ko ang VBA code makukuha ko ang mensahe ng error bilang "Overflow".

Ang dahilan kung bakit nakuha namin ang error na ito sa VBA dahil ang uri ng data na "Integer" ay maaaring humawak ng mga halaga mula -31768 hanggang 32767, lamang. Sa kasong ito “Ang mga Rows. Bilangin "ay ibabalik ang numero na higit sa limitasyon ng variable na" integer ".

Ang pagtatalaga ng halaga ng higit sa 1 milyon sa variable na maaaring magkaroon ng 32767 lamang ang sanhi ng error sa overflow dito.

Mahabang Halimbawa ng VBA # 2

Hanapin ang Huling Hilera Gamit ang Long Variable

Ang paghahanap ng huling ginamit na hilera ng worksheet ay ang pinakamahalaga sa pag-coding. Upang mahanap ang huling ginamit na hilera ng worksheet ay nangangailangan ng variable upang maipahayag. Habang ang pagdedeklara ng variable at pagtatalaga ng isang uri ng data ay nangangailangan ng ilang sentido komun.

Ipagpalagay na ang iyong data ay nagtatapos sa 25000 na mga hilera tulad ng ipinakita sa larawan sa ibaba.

Ngayon alam ko na ang huling ginamit na numero ng hilera ay 25000, para dito, hindi namin kailangan ang uri ng data na "MAHABANG" dahil ang uri ng data na "INTEGER" ay maaaring magbigay sa akin ng huling hilera.

Tingnan ang code sa ibaba para sa iyong impormasyon.

Code:

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

Kung tatakbo ko ang code na ito makukuha ko ang huling ginamit na numero ng hilera ng worksheet na pinagtatrabahuhan ko sa ngayon.

Bilang isang coder, mahalagang malaman ang laki ng data na magkakaroon ka sa hinaharap. Sapagkat sa sandaling ito ang data ay maaaring magtatapos sa ika-25000 na hilera ngunit kung ang data ay tumataas lampas sa limitasyong "Integer" ibig sabihin 32767, nagsasanhi ito ng isang overflow error.

Halimbawa, tataas ko ang data sa 32768th row.

Ngayon kung tatakbo ko muli ang parehong code ay hindi ko makukuha ang halaga sa halip makukuha ko ang error tulad ng nasa ibaba.

Tandaan na nadagdagan ko ang limitasyon sa pamamagitan lamang ng 1 lampas sa limitasyon ng halagang "Integer", kaya't nakakuha ako ng isang error sa Overflow.

Kaya mahalagang malaman ang laki ng iyong data bago magtalaga ng isang uri ng data sa variable. Palaging isang mas mahusay na pagpipilian upang ideklara ang variable bilang "MAHABA" nang hindi iniisip ang laki ng iyong data sa hinaharap.

Mga kahalili sa Excel VBA Long Variable

Dapat ay naiisip mo na kung paano kung nais naming hawakan ang halaga nang higit sa limitasyon ng isang mahabang variable. Para sa mga ito, kailangan naming gumamit ng iba't ibang mga uri ng data hal alinman sa VBA "String" o "Variant"

Alalahanin ang sandaling tumawid ito sa numero 2147483647 makakakuha kami ng overflow error sa VBA na may mahabang uri ng data. Upang mag-imbak ng higit sa numerong ito kailangan naming gumamit ng uri ng data na "String" o "Variant".

Para sa String

Code:

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

Para sa Variant

Code:

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

Kapag pinatakbo namin ang mga code sa itaas, ipapakita nito ang nabanggit na numero.