Ka hoʻomaopopo ʻana i nā ʻano like ʻole a me nā mea mau ma Excel Macros

Ma kēia ʻatikala, e aʻo ai ʻoe i nā mea mau a me nā mea hoʻololi i loko o nā macros, kahi e hiki ai ke hoʻohana ʻia, a he aha ka ʻokoʻa nui ma waena o nā ʻano ʻikepili like ʻole. E hōʻike ʻia nō ke kumu e pono ai nā mea mau, inā hiki iā ʻoe ke kākau i kahi loli a ʻaʻole e hoʻololi.

E like me nā ʻōlelo hoʻonohonoho ʻē aʻe, hiki ke mālama ʻia ka ʻikepili i nā ʻano like ʻole a i ʻole nā ​​​​mea mau (ua kapa pinepine ʻia ia mau mea ʻelua he mau ipu ʻikepili). ʻO kēia ka ʻokoʻa nui ma waena o kēia mau manaʻo. Hiki ke loli ka mea mua ma muli o ka mea e hana nei i ka papahana. I ka huli ʻana, hoʻonohonoho ʻia nā mea mau a ʻaʻole hoʻololi i ko lākou waiwai.

Hiki ke hoʻohana i nā mea mau inā pono ʻoe e hoʻohana i ka waiwai nui like i nā manawa he nui. Ma kahi o ke kope ʻana i ka helu, hiki iā ʻoe ke kākau i ka inoa o ka mea mau. No ka laʻana, hiki iā ʻoe ke hoʻohana i ka "Pi" mau no ka mālama ʻana iā Pi, ʻo ia ka waiwai mau. Nui loa ia, a i kēlā me kēia manawa he paʻakikī ke kākau a ʻimi a kope paha. A no laila, lawa ka kākau ʻana i ʻelua mau huaʻōlelo, a hoʻohana maʻalahi ke kaiapuni i ka helu i makemake ʻia.

Pono ka mea hoʻohana Excel e haʻi i nā loli inā pono ʻo ia e hoʻololi i ka waiwai i mālama ʻia i loko o lākou i kēlā me kēia manawa. No ka laʻana, hiki iā ʻoe ke hoʻonohonoho i kahi loli i kapa ʻia ʻo sVAT_Rate, kahi e mālama ai i ka helu VAT o kēia manawa no ka huahana. Inā loli, hiki iā ʻoe ke hoʻoponopono koke. He mea maikaʻi loa kēia no ka poʻe hana ʻoihana ma ʻAmelika Hui Pū ʻIa, kahi i loaʻa ʻole ai kekahi mau waiwai i ka VAT (a ʻokoʻa hoʻi kēia ʻauhau mai kēlā me kēia mokuʻāina).

ʻAno ʻIkepili

Hiki i kēlā me kēia pahu ʻikepili ke hoʻokahi o nā ʻano like ʻole. Eia kahi papa e wehewehe ana i nā ʻano maʻamau o ka ʻike i hana ʻia. Nui ka nui o ia mau mea, a me he mea lā i ka poʻe hoʻomaka e hana hou kekahi i kekahi. Akā, he manaʻo hoʻopunipuni kēia. E heluhelu e aʻo i ke kumu he mea nui ka wehewehe ʻana i ke ʻano ʻikepili pololei.

ʻAʻole ʻōlelo ʻia e hoʻohana i kahi ʻano ʻikepili e hoʻonui i ka nui i ka hoʻomanaʻo no nā helu liʻiliʻi. No ka laʻana, no ka helu 1, lawa ia e hoʻohana i ke ʻano Byte. He hopena maikaʻi kēia i ka hana o ka module executable, ʻoi aku hoʻi ma nā kamepiula nāwaliwali. Akā he mea nui ʻaʻole e hele lōʻihi ma ʻaneʻi. Inā hoʻohana ʻoe i kahi ʻano ʻikepili i paʻakikī loa, ʻaʻole kūpono ke kumu waiwai nui i loko.

Hoʻolaha i nā mea mau a me nā mea hoʻololi

ʻO ka hoʻohana ʻana i kahi pahu ʻikepili me ka ʻole o ka haʻi mua ʻana e hōʻole ʻia. A laila hiki ke ala mai kekahi mau pilikia, e pale aku i ka mea e pono ai ke kākau i kekahi mau laina liʻiliʻi o ke code me ka helu ʻana i nā mea hoʻololi a i ʻole mau.

No ka haʻi ʻana i kahi loli, hoʻohana ʻia ka ʻōlelo Dim. No ka laʻana, e like me kēia:

Kaumaha ʻAno_Name e like me ka helu helu

ʻO Variable_Name ka inoa o ka mea hoʻololi. A laila, kākau ʻia ka As operator, e hōʻike ana i ke ʻano ʻikepili. Ma kahi o nā kaula "Variable_Name" a me "Integer", hiki iā ʻoe ke hoʻokomo i kou inoa ponoʻī a me ke ʻano ʻikepili.

Hiki ke haʻi ʻia nā mea mau, akā pono ʻoe e kuhikuhi i ko lākou waiwai. ʻO kekahi o nā koho:

Const iMaxCount = 5000

Ma ka pololei, i kekahi mau mea hiki iā ʻoe ke hana me ka ʻole o ka haʻi ʻana i kahi loli, akā i kēia hihia e hāʻawi ʻia lākou i ke ʻano Variant. Eia naʻe, ʻaʻole ʻōlelo ʻia kēia no nā kumu penei:

  1. ʻOi aku ka mālie o ka hoʻololi ʻana, a inā he nui nā ʻano like ʻole, hiki ke hoʻolōʻihi ʻia ka hoʻoili ʻana i ka ʻike ma nā kamepiula nāwaliwali. Me he mea lā e hoʻoholo kēlā mau kekona? Akā inā pono ʻoe e kākau i kahi helu nui o nā laina o ke code, a laila holo pū ma nā kamepiula nāwaliwali (e kūʻai mau ʻia ana, no ka mea e pono ai nā keʻena ʻoihana hou i ka nui o ka RAM), hiki iā ʻoe ke hoʻōki loa i ka hana. Aia kekahi mau hihia i ke kākau hewa ʻana o nā macros i alakaʻi ʻia i ka maloʻo o nā smartbooks i loaʻa ka hapa liʻiliʻi o ka RAM a ʻaʻole i hoʻolālā ʻia e hana i nā hana paʻakikī. 
  2. Ua ʻae ʻia nā kuhi hewa i nā inoa, hiki ke pale ʻia ma ka hoʻohana ʻana i ka ʻōlelo Option Explicit, e ʻae iā ʻoe e ʻimi i kahi ʻano hoʻololi ʻole, inā loaʻa kekahi. He ala maʻalahi kēia e ʻike ai i nā hewa, ʻoiai ʻo ka typo liʻiliʻi e hiki ʻole ai i ka unuhi ʻōlelo ke ʻike i ka loli. A inā ʻoe e hoʻohuli i ka mode declaration variable, ʻaʻole e ʻae ka unuhi ʻōlelo iā ʻoe e holo i ka macro inā ʻike ʻia nā ipu ʻikepili ʻaʻole i haʻi ʻia ma ka hoʻomaka ʻana o ka module.
  3. Hōʻalo i nā hewa i hoʻokumu ʻia e nā ʻano waiwai like ʻole i ka ʻano ʻikepili. ʻO ka mea maʻamau, ʻo ka hāʻawi ʻana i kahi waiwai kikokikona i kahi hoʻololi integer e hoʻolei i kahi hewa. ʻAe, ma ka ʻaoʻao hoʻokahi, hāʻawi ʻia kahi ʻano generic me ka ʻole o ka haʻi ʻana, akā inā i haʻi mua ʻia, a laila hiki ke pale ʻia nā kuhi hewa.

No laila, ʻoiai nā mea āpau, ʻoi aku ka maikaʻi o ka haʻi ʻana i nā mea hoʻololi āpau i nā macros Excel.

Aia kekahi mea hou e hoʻomanaʻo i ka wā e haʻi ana i nā ʻano hoʻololi. ʻAʻole hiki ke hāʻawi i kekahi waiwai i kahi loli i ka wā e haʻi aku ai, akā i kēia hihia, loaʻa iā ia kahi waiwai paʻamau. ʻo kahi laʻana:

  1. Hoʻokuʻu ʻia nā laina.
  2. Lawe nā helu i ka waiwai 0.
  3. Manaʻo mua ʻia nā ʻano ʻano Boolean he hoʻopunipuni.
  4. ʻO ka lā paʻamau ʻo Dekemaba 30, 1899.

No ka laʻana, ʻaʻole pono ʻoe e hāʻawi i ka waiwai 0 i kahi hoʻololi integer inā ʻaʻohe waiwai i hōʻike mua ʻia. Loaʻa iā ia kēia helu.

Manaʻo Manaʻo Manaʻo

Hāʻawi kēia ʻōlelo iā ʻoe e haʻi i nā ʻano like ʻole i hoʻohana ʻia ma ka code VBA a hoʻoholo i ka hele ʻana o nā pahu i hōʻike ʻole ʻia ma mua o ka holo ʻana o ke code. No ka hoʻohana ʻana i kēia hiʻohiʻona, e kākau wale i kahi laina o Option Explicit code ma ka piko loa o ka code macro.

Inā pono ʻoe e hoʻokomo i kēia ʻōlelo i kāu code i kēlā me kēia manawa, hiki iā ʻoe ke hana pēlā me ka hoʻohana ʻana i kahi hoʻonohonoho kūikawā i ka hoʻoponopono VBA. No ka hiki ʻana i kēia koho, pono ʻoe:

  1. E hele i ke kaiapuni hoʻomohala ma ke ala - Nā mea hana> koho.
  2. Ma ka puka aniani e wehe ai ma hope o kēia, wehe i ka ʻaoʻao Editor.
  3. A ʻo ka hope, e nānā i ka pahu ma ka ʻaoʻao o ka mea Require Variable Declaration.

Ma hope o ka pau ʻana o kēia mau hana, kaomi i ke pihi "OK". 

ʻO ia, i kēia manawa ke kākau ʻana i kēlā me kēia macro hou, e hoʻokomo ʻia kēia laina ma ka piko o ke code.

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

He palena palena wale nō ko kēlā me kēia hoʻololi a mau paha. Aia ma kahi āu e haʻi aku ai.

Ina paha he hana ko kakou Total_Cost(), a hoʻohana ia i ka mea hoʻololi sVAT_Rate. Ma muli o ke kūlana i loko o ka module, he ʻokoʻa ka laulā:

Koho maopopo

Hoʻokaʻawale i ka sVAT_Rate ma ke ʻano he hoʻokahi

Hana Total_Cost() Like Palua

.

.

.

Ka Hana Hana

Inā haʻi ʻia kahi ʻano hoʻololi ma luna o kahi module ponoʻī, hoʻolaha ia i loko o kēlā module. ʻO ia hoʻi, hiki ke heluhelu ʻia e kēlā me kēia kaʻina hana.

Eia kekahi, inā hoʻololi kekahi o nā kaʻina hana i ka waiwai o ka mea hoʻololi, a laila e heluhelu pū kekahi i kēia waiwai i hoʻoponopono ʻia. Akā ma nā modula ʻē aʻe ʻaʻole e heluhelu ʻia kēia ʻano hoʻololi.

Koho maopopo

Hana Total_Cost() Like Palua

Hoʻokaʻawale i ka sVAT_Rate ma ke ʻano he hoʻokahi

   .

   .

   .

Ka Hana Hana

I kēia hihia, hōʻike ʻia ka loli i loko o ke kaʻina hana, a e hoʻolei ka unuhi ʻōlelo i kahi hewa inā hoʻohana ʻia ma kahi kaʻina hana ʻē aʻe.

Inā makemake ʻoe e heluhelu ʻia ka loli e nā modula ʻē aʻe, pono ʻoe e hoʻohana i ka huaʻōlelo Public ma kahi o ka huaʻōlelo Dim. Pēlā nō, hiki iā ʻoe ke kaupalena i ke ʻano o kahi hoʻololi i ka module o kēia manawa ma o ka hoʻohana ʻana i ka ʻōlelo Public, i kākau ʻia ma kahi o ka huaʻōlelo Dim.

Hiki iā ʻoe ke hoʻonohonoho i ke ʻano o nā mea mau ma ke ʻano like, akā ua kākau pū ʻia ka huaʻōlelo ma aneʻi me ka mea hoʻohana Const.

Eia kahi papaʻaina me kahi laʻana maikaʻi o ka hana ʻana me nā mea mau a me nā mea hoʻololi.

Koho maopopo

sVAT_Rate lehulehu ma ke ano hookahi

Public Const iMax_Count = 5000

Ma kēia laʻana, hiki iā ʻoe ke ʻike pehea e hoʻohana ʻia ai ka huaʻōlelo Public no ka haʻi ʻana i kahi loli, a me nā mea āu e pono ai e kākau i ka hoʻoponopono Visual Basic e haʻi i ka lehulehu. Pili ka laulā o kēia mau ipu waiwai i nā modula a pau.
Koho maopopo

sVAT_Rate pilikino e like me hoʻokahi

Kūlana Kūikawā iMax_Count = 5000

Maʻaneʻi, hōʻike ʻia nā mea hoʻololi a me nā mea mau me ka hoʻohana ʻana i ka huaʻōlelo Private. ʻO ia ke ʻano hiki ke ʻike ʻia i loko o ka module o kēia manawa, a ʻaʻole hiki ke hoʻohana i nā kaʻina hana i nā modula ʻē aʻe.

No ke aha e pono ai nā mea mau a me nā loli

ʻO ka hoʻohanaʻana i nā mea mau a me nā mea hoʻololi e hiki ai iāʻoe ke hoʻonui i ke kiʻekiʻe o ka maopopo o ke code. A inā ʻaʻohe nīnau o ka poʻe hoʻomaka e pili ana i ke kumu e pono ai nā mea hoʻololi, a laila nui nā ambiguities e pili ana i ka pono o nā mea mau. A ʻo kēia nīnau me he mea lā, i ka nānā mua ʻana, kūpono loa. Ma hope o nā mea a pau, hiki iā ʻoe ke haʻi aku i kahi loli a ʻaʻole hoʻololi hou.

ʻO ka pane ka mea i loaʻa ma kahi o ka mokulele hoʻokahi e pili ana i ka hoʻohana ʻana i nā ʻano ʻikepili e noho ana i kahi ākea nui i ka hoʻomanaʻo. Inā mākou e pili ana i ka nui o nā ʻano like ʻole, hiki iā mākou ke hoʻololi i kahi pahu i loaʻa. Inā ʻōlelo ka mea hoʻohana ʻaʻole e loli kekahi waiwai, a laila e hoʻomalu ʻo ke kaiapuni i kēia.

He mea koʻikoʻi kēia ke kākau ʻia ka macro e kekahi mau polokalamu polokalamu. ʻIke paha kekahi ʻaʻole pono e loli kekahi mau ʻano. A ʻo kekahi ʻaʻole. Inā ʻoe e kuhikuhi i ka mea hoʻohana Const, e ʻike kekahi mea hoʻomohala ʻaʻole e loli kēia waiwai.

A i ʻole, inā he mau me ka inoa hoʻokahi, a he inoa ʻokoʻa ka mea hoʻololi, akā like ka inoa. Hiki i ka mea hoʻomohala ke huikau wale iā lākou. No ka laʻana, kapa ʻia kekahi ʻano ʻaʻole pono e hoʻololi ʻia ʻo Variable11, a ʻo kekahi mea hiki ke hoʻoponopono ʻia ʻo ia ʻo Variable1. Hiki i ke kanaka ke hoʻokuʻu wale i kahi ʻāpana ʻē aʻe a ʻike ʻole ʻia. ʻO ka hopena, e hoʻololi ʻia ka ipu no nā waiwai, ʻaʻole pono e hoʻopā ʻia.

A i ʻole e poina paha ka mea hoʻomohala iā ia iho i nā mea hoʻololi hiki iā ia ke hoʻopā a hiki ʻole iā ia. Hana pinepine kēia i ka wā i kākau ʻia ai ke code no kekahi mau pule, a nui kona nui. I loko o kēia manawa, maʻalahi loa ke poina i ke ʻano o kēia a i ʻole kēlā ʻano.

ʻAe, hiki iā ʻoe ke hana me nā manaʻo i kēia kūlana, akā ʻaʻole maʻalahi ka wehewehe ʻana i ka huaʻōlelo Const?

hopena a

He mea koʻikoʻi nā ʻokoʻa o ka polokalamu macro, kahi e hiki ai iā ʻoe ke hana i nā hana paʻakikī, mai ka helu ʻana i ka hoʻomaopopo ʻana i ka mea hoʻohana e pili ana i kekahi mau hanana a i ʻole ke kuhikuhi ʻana i nā waiwai kikoʻī i loko o nā keʻena o kahi pālahalaha.

Pono e hoʻohana mau ʻia inā ʻike maopopo ka mea hoʻomohala ʻaʻole e loli nā mea o kēia mau pahu i ka wā e hiki mai ana. Manaʻo ʻia ʻaʻole e hoʻohana i nā mea hoʻololi, no ka mea hiki ke hana hewa.

Waiho i ka Reply