Nā mea hoʻololi a me nā mea mau ma VBA

Ma VBA, e like me nā ʻōlelo hoʻolālā ʻē aʻe, hoʻohana ʻia nā mea hoʻololi a me nā mea mau e mālama i nā waiwai. E like me ka manaʻo o ka inoa, hiki ke hoʻololi i nā mea hoʻololi, ʻoiai nā mea mau e mālama i nā waiwai paʻa.

No ka laʻana, he mau Pi mālama i ka waiwai 3,14159265… ʻAʻole e loli ka helu "Pi" i ka wā o ka hoʻokō ʻana o ka papahana, akā ʻoi aku ka maʻalahi o ka mālama ʻana i kahi waiwai ma ke ʻano he mau.

I ka manawa like, hiki iā mākou ke hoʻohana i ka loli sVAT_Rate e mālama i ka uku VAT ma nā mea i kūʻai ʻia. Waiwai hoʻololi sVAT_Rate ʻokoʻa paha ma muli o ka huahana i kūʻai ʻia.

ʻAno ʻIkepili

ʻO nā mea hoʻololi a me nā mea mau o kahi ʻano ʻikepili. Hōʻike ka papa ma lalo nei i nā ʻano ʻikepili i hoʻohana ʻia ma VBA me ka wehewehe a me ka laulā o nā waiwai kūpono.

ʻAno ʻikepili SizeDescriptionLaulā o nā waiwai
ʻOi1 kaonaNā huina kūpono; hoʻohana pinepine ʻia no ka ʻikepili binarymai 0 ke 255
ʻO Boolean2 kaonaHiki ke ʻoiaʻiʻo a i ʻole ka hoʻopunipuniʻOiaʻiʻo ʻole wahaheʻe paha
Pūnaewele2 kaonaHelu holoʻokoʻa (ʻaʻohe hapa hakina)mai -32 a + 768
Long4 kaonaNā helu helu nui (ʻaʻohe hapa hakina)от -2 147 483 648 до +2 147 483 647
hookahi4 kaonaHelu kiko lana pololei hookahimai -3.4e38 a i +3.4e38
palua8 kaonaHelu lana kiko luamai -1.8e308 a i +1.8e308
kālā8 kaonaHelu kiko lana, me ka helu paʻa o nā wahi decimalот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
8 kaonaLā a me ka manawa – Hōʻike ʻia ka ʻikepili o ke ʻano lā e kahi helu lana. Hōʻike ka ʻāpana integer o kēia helu i ka lā, a hōʻike ka ʻāpana hakina i ka manawa.mai Ianuali 1, 100 a hiki i Dekemaba 31, 9999
mea4 kaonaKuhikuhi meaKekahi mea kuhikuhi
kaulake loli neiHoʻonohonoho ʻano. Hiki i ke ʻano String ke paʻa a i ʻole ka lōʻihi. Hoʻohana pinepine ʻia me ka lōʻihi like ʻoleʻO ka lōʻihi paʻa - a hiki i ka 65 mau huapalapala. ʻO ka lōʻihi like ʻole - a hiki i ka 500 billion mau huapalapala
Lolinake loli neiLoaʻa paha i kahi lā, kahi lana, a i ʻole kahi kaula kikoʻī. Hoʻohana ʻia kēia ʻano i nā hihia kahi i ʻike ʻole ʻia ma mua ke ʻano o ka ʻikepili e hoʻokomo ʻia.Helu – Pālua, kaula – kaula

ʻIke loa, me ka hoʻohana ʻana i ka papa ma luna a me ke koho ʻana i ke ʻano ʻikepili kūpono, hiki iā ʻoe ke hoʻohana i ka hoʻomanaʻo me ka ʻoi aku ka waiwai (no ka laʻana, koho i ke ʻano ʻikepili. Pūnaewele kahi Long or hookahi kahi palua). Eia nō naʻe, i ka hoʻohana ʻana i nā ʻano ʻikepili koʻikoʻi, pono ʻoe e makaʻala ʻaʻole e hoʻāʻo kāu code e hoʻokomo i nā waiwai nui i disproportionately i loko o lākou.

E haʻi ana i nā mea hoʻololi a me nā mea mau

ʻŌlelo a ka Unuhi: Ma ke kamaʻilio ʻana e pili ana i nā mea hoʻololi i ka VBA, pono e haʻi i kahi mea nui loa. Inā hōʻike mākou i kahi loli akā ʻaʻole hāʻawi i kekahi waiwai iā ia, a laila hoʻomaka ʻia me kahi waiwai paʻamau:

• hoʻomaka ʻia nā kaula kikokikona me nā kaula ʻole;

• helu - waiwai 0;

• ʻano hoʻololi ʻO Boolean — Hoopunipuni;

• nā lā - Kekemapa 30, 1899.

Ma mua o ka hoʻohana ʻana i kahi loli a mau paha, pono e haʻi ʻia. No ka hana ʻana i kēia, hoʻohui i kēia laina maʻalahi o ke code i ka macro:

Dim Имя_Переменной As Тип_Данных

Ma ka laina ma luna o ke code Inoa_hui ʻo ia ka inoa o ka mea hoʻololi e hoʻohana ʻia i ke code, a ʻAno_ʻIkepili ʻo ia kekahi o nā ʻano ʻikepili mai ka papa i hāʻawi ʻia ma mua iki o kēia ʻatikala. ʻo kahi laʻana:

Pākuʻi sVAT_Rate e like me ka hoʻokahi Dim i like me ka helu helu

Hōʻike like ʻia nā Constants, akā i ka wā e haʻi ana i nā mea mau, pono e hōʻike koke ʻia ko lākou waiwai. No ka laʻana, e like me kēia:

Const iMaxCount = 5000 Const iMaxScore = 100

ʻAʻole pono ka haʻi ʻana i nā loli ma Excel. Ma ka paʻamau, loaʻa nā ʻano like ʻole i hoʻokomo ʻia akā ʻaʻole i hōʻike ʻia ma Excel Lolina a hiki iā ia ke ʻae i ka waiwai helu a me ke kikokikona.

No laila, hiki i ka mea polokalamu ke hoʻohana i ka loli hou i kēlā me kēia manawa (ʻoiai inā ʻaʻole i haʻi ʻia), a e mālama ʻo Excel iā ia ma ke ʻano he ʻano loli. Lolina. Eia naʻe, aia kekahi mau kumu e pono ʻole ai e hana i kēia:

  1. Hoʻohana memo a me ka wikiwiki helu. Inā ʻaʻole ʻoe e haʻi i kahi loli me kahi hōʻailona o ke ʻano ʻikepili, a laila ma ke ʻano maʻamau e hoʻonohonoho ʻia i ke ʻano Lolina. Hoʻohana kēia ʻano ʻikepili i ka hoʻomanaʻo ma mua o nā ʻano ʻikepili ʻē aʻe. ʻAʻole like paha kekahi mau bytes hou no kēlā me kēia ʻano, akā ma ka hoʻomaʻamaʻa, hiki i nā polokalamu ke loaʻa i nā kaukani mau ʻano like ʻole (ʻoi loa i ka hana ʻana me nā arrays). No laila, ʻo ka hoʻomanaʻo keu i hoʻohana ʻia e nā ʻano like Lolina, hoʻohālikelike ʻia me nā ʻano like ʻole Pūnaewele or hookahi, hiki ke hoʻohui i kahi nui nui. Eia kekahi, nā hana me nā ʻano like ʻole Lolina ʻoi aku ka lohi ma mua o nā ʻano ʻano ʻē aʻe, i kēlā me kēia, he kaukani mau ʻano ʻano Lolina hiki ke hoʻolohi nui i nā helu.
  2. Kāohi i nā typos ma nā inoa ʻano like ʻole. Inā hōʻike ʻia nā mea hoʻololi a pau, a laila hiki ke hoʻohana ʻia ka ʻōlelo VBA − Koho maopopo (e kamaʻilio mākou e pili ana iā ia ma hope) i mea e ʻike ai i nā mea hoʻololi ʻole i haʻi ʻia. Hoʻopau kēia i ke ʻano o ka hewa i loko o ka papahana ma muli o kahi inoa hoʻololi hewa i kākau ʻia. No ka laʻana, me ka hoʻohana ʻana i ka inoa inoa sVAT_Rate, hiki iā ʻoe ke hana i kahi typo a, e hāʻawi i kahi waiwai i kēia hoʻololi, e kākau: "VATRate = 0,175". Ua manaʻo ʻia mai kēia manawa, ka loli sVAT_Rate Pono e loaʻa ka waiwai 0,175 - akā ʻaʻole pono. Inā hoʻohana ʻia ke ʻano o ka hoʻolaha kauoha o nā mea hoʻololi āpau i hoʻohana ʻia, a laila e hōʻike koke ka VBA compiler i kahi hewa, no ka mea ʻaʻole ʻike ʻia ka loli. Laki VATR mawaena o na mea i hoolahaia.
  3. Hōʻike i nā waiwai i kūlike ʻole i ke ʻano i haʻi ʻia o kahi loli. Inā hōʻike ʻoe i kahi loli o kekahi ʻano a hoʻāʻo e hāʻawi i ka ʻikepili o kahi ʻano ʻē aʻe iā ia, e loaʻa iā ʻoe kahi hewa, a inā ʻaʻole i hoʻoponopono ʻia, hiki ke hāʻule ka papahana. I ka nānā muaʻana, he kumu maikaʻi paha kēia e haʻiʻole ai i nā mea hoʻololi, akāʻo kaʻoiaʻiʻo, ma mua o kaʻikeʻana ua loaʻa i kekahi o nā mea hoʻololi i kaʻikepili hewa i manaʻoʻia e loaʻa -ʻoi aku ka maikaʻi! Inā ʻaʻole, inā hoʻomau ka holo ʻana o ka papahana, hewa paha nā hopena a manaʻo ʻole ʻia, a ʻoi aku ka paʻakikī o ka ʻimi ʻana i ke kumu o nā hewa. Hiki ke hoʻokō 'ia ka macro. ʻO ka hopena, e ʻike ʻole ʻia ka hewa a e hoʻomau ka hana me ka ʻikepili hewa ʻole!

Ma kēia ʻano, makemake ʻia e ʻike i kahi ʻano ʻikepili hewa a hoʻoponopono i kēlā mau hewa i ke code i ka wā hiki. No kēia mau kumu, pono ʻoe e haʻi aku i nā ʻano like ʻole i ke kākau ʻana i kahi macro VBA.

Koho maopopo

Aʻole Koho maopopo e hōʻike ʻia nā ʻano hoʻololi a pau e hoʻohana ʻia ma ka code VBA, a e hōʻailona i nā mea hoʻololi ʻole i haʻi ʻia ma ke ʻano he hewa i ka wā o ka hōʻuluʻulu ʻana (ma mua o ka hoʻomaka ʻana o ka hoʻokō code). ʻAʻole paʻakikī ka hoʻohana ʻana i kēia mea hana - e kākau wale i kēia laina ma ka piko o ka faila VBA:

Option Explicit

Inā makemake ʻoe e hoʻokomo mau Koho maopopo i luna o kēlā me kēia module VBA hou i hana ʻia, hiki ke hana maʻalahi kēia. No ka hana ʻana i kēia, pono ʻoe e hoʻā i ke koho Pono i ka ʻōlelo hoʻololi i nā hoʻonohonoho hoʻoponopono VBA.

Hana ʻia kēia e like me kēia:

  • Mai ka papa kuhikuhi Visual Basic Editor, kaomi hana > nā koho
  • Ma ka ʻōlelo i hōʻike ʻia, wehe i ka pā Luna ho'oponopono
  • E kaha i ka pahu Pono i ka ʻōlelo hoʻololi a ua pilikia OK

Ke hoʻohana ʻia, ke kaula Koho maopopo e hoʻokomo 'akomi 'ia i ka hoʻomaka o kēlā me kēia module hou i hana ʻia.

Ka laulā o nā mea hoʻololi a me nā mea mau

Loaʻa i kēlā me kēia ʻano hoʻololi a i ʻole ka mea mau i kona palena palena ʻole, ʻo ia hoʻi, kahi ʻāpana palena o ka papahana kahi i loaʻa ai kēia hoʻololi. Aia ka laulā ma kahi i hana ʻia ai ka ʻōlelo hoʻololi a i ʻole mau. E lawe, no ka laʻana, ka loli sVAT_Rate, i hoʻohana ʻia i ka hana Ka huina_kuai. Kūkākūkā ka papa ma lalo nei i ʻelua mau koho no ka hoʻololi ʻana i ka scoping sVAT_Ratei ʻōlelo ʻia ma nā kūlana ʻelua i loko o ka module:

ʻO ke koho Manaʻo Dim sVAT_Rate ma ke ʻano he hana hoʻokahi Total_Cost() E like me ʻelua ... Hoʻopau i ka hana
Ina ka hoololi sVAT_Rate i haʻi ʻia ma ka hoʻomaka ʻana o ka module, a laila ʻo ke ʻano o kēia ʻano hoʻololi ke ʻano holoʻokoʻa (ʻo ia ka variable sVAT_Rate e ʻike ʻia e nā kaʻina hana a pau ma kēia module).

No laila, inā ma ka hana Ka huina_kuai uila sVAT_Rate e hāʻawi ʻia i kekahi waiwai, a laila e hoʻohana ka hana aʻe i hana ʻia i loko o ka module hoʻokahi sVAT_Rate me ke ano like.

Eia nō naʻe, inā kapa ʻia kekahi hana i loaʻa i kahi module ʻē aʻe, a laila no ia ka loli sVAT_Rate ʻaʻole e ʻike ʻia.

ʻO ke koho i ka hana ʻokoʻa Total_Cost() E like me ʻelua Dim sVAT_Rate like me hoʻokahi ... Hoʻopau hana
Ina ka hoololi sVAT_Rate haiia ma ka hoomaka ana o ka hana Ka huina_kuai, a laila e kaupalena ʻia kona kiko i kēia hana (ʻo ia hoʻi i loko o ka hana Ka huina_kuai, hiki iā ʻoe ke hoʻohana i ka hoʻololi sVAT_Rate, akā ʻaʻole ma waho).

Ke ho'āʻo nei e hoʻohana sVAT_Rate ma kahi kaʻina hana ʻē aʻe, e hōʻike ka mea hōʻuluʻulu VBA i kahi hewa no ka mea ʻaʻole i haʻi ʻia kēia ʻano ma waho o ka hana Ka huina_kuai (inā hoʻohana ʻia ka mea hoʻohana Koho maopopo).

Ma ka laʻana i hōʻike ʻia ma luna nei, ua haʻi ʻia ka ʻano hoʻololi ma ka pae module me ka huaʻōlelo . Eia nō naʻe, pono paha e hoʻohana ʻia nā mea hoʻololi i haʻi ʻia i nā modula ʻē aʻe. Ma ia mau hihia, e haʻi aku i kahi loli ma kahi o kahi huaʻōlelo pono e hoʻohana ʻia ka huaʻōlelo Public.

Ma ke ala, no ka haʻi ʻana i kahi loli ma ka pae module, ma kahi o ka huaʻōlelo hiki ke hoʻohana ʻia ka huaʻōlelo uku, e hōʻike ana ua manaʻo ʻia kēia hoʻololi no ka hoʻohana wale ʻana i ka module o kēia manawa.

Hiki iā ʻoe ke hoʻohana i nā huaʻōlelo e haʻi i nā mea mau. Public и uku, akā ʻaʻole ma kahi o ka huaʻōlelo Ua ʻike ʻo Const, me ia.

Hōʻike kēia mau laʻana i ka hoʻohana ʻana i nā huaʻōlelo Public и uku pili i nā mea hoʻololi a me nā mea mau.

ʻO ke koho sVAT_Rate lehulehu ma ke ʻano he hoʻokahi Const Public iMax_Count = 5000 ...    
Ma kēia laʻana, ka huaʻōlelo Public hoʻohana ʻia no ka haʻi ʻana i kahi loli sVAT_Rate a me na mea mau iMax_Count. ʻO ka laulā o nā mea i haʻi ʻia ma kēia ala ʻo ia ka papahana holoʻokoʻa o kēia manawa.

ʻO kēia keʻano sVAT_Rate и iMax_Count e loaʻa i loko o kekahi module papahana.

ʻO ke koho sVAT_Rate Kūʻokoʻa ma ke ʻano he kūʻokoʻa pilikino hoʻokahi iMax_Count = 5000 ...    
Ma kēia laʻana, e haʻi aku i kahi loli sVAT_Rate a me na mea mau iMax_Count huaʻōlelo i hoʻohana ʻia uku. ʻO ka laulā o kēia mau mea ʻo ia ka module o kēia manawa.

ʻO kēia keʻano sVAT_Rate и iMax_Count e loaʻa i nā kaʻina hana a pau o ka module o kēia manawa, akā ʻaʻole e loaʻa i nā kaʻina hana i nā modula ʻē aʻe.

Waiho i ka Reply