Fesuia'i ma tumau i le VBA

I le VBA, pei o soʻo se isi lava gagana polokalame, fesuiaiga ma faʻaauau e faʻaaogaina e teu ai soʻo se tau. E pei ona ta'u mai e le igoa, e mafai ona sui suiga, a'o fa'atumauina fa'amaumau tau.

Mo se faataitaiga, se tumau Pi teuina le tau 3,14159265… Ole numera "Pi" o le a le suia i le taimi o le faʻatinoga o le polokalame, ae sili atu ona faigofie le teuina o sea tau e pei o se tumau.

I le taimi lava e tasi, e mafai ona tatou faʻaogaina le fesuiaiga sVAT_fua e teu ai le fua faatatau o le VAT i oloa fa'atau. Tau fesuia'i sVAT_fua e mafai ona fesuisuiai e fuafua i le oloa na fa'atauina.

Faʻamatalaga Ituaiga

O fesuia'iga uma ma fa'amaumau o se ituaiga fa'amatalaga patino. O le laulau o loʻo i lalo o loʻo lisiina ai ituaiga faʻamatalaga o loʻo faʻaaogaina i le VBA faʻatasi ai ma se faʻamatalaga ma le tele o tau aoga:

Ituaiga faʻamatalaga fuafaʻamatalagaTulaga o tulaga faatauaina
Taea1 octetsNumera lelei; masani ona faʻaaogaina mo faʻamaumauga binarymai le 0 i le 255
Faʻamalie2 octetsE mafai ona sa'o pe SeseMoni pe Sese
Integer2 octetsNumera atoa (leai se vaega ninii)mai -32 i le 768
umi4 octetsNumera tele (leai se vaega ninii)от -2 147 483 648 до +2 147 483 647
nofofua4 octetsNumera opeopea sa'o tasimai le -3.4e38 i le +3.4e38
faʻalua8 octetsSa'o sa'o lua numera opeopeamai le -1.8e308 i le +1.8e308
tupe 'eseʻese8 octetsNumera fa'afefete, fa'atasi ai ma se numera tumau o nofoaga tesiот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
aso8 octetsAso ma le taimi – Fa'amatalaga o le ituaiga Aso o lo'o fa'atusalia e se numera o lo'o fa'afefeteina. O le vaega numera o lenei numera e faʻaalia ai le aso, ae o le vaega faʻavae e faʻaalia ai le taimi.mai Ianuari 1, 100 ia Tesema 31, 9999
Sini4 octetsFa'asinomaga meaSo'o se mea fa'asino
mānoaua suiaSeti uiga. Ole ituaiga String e mafai ona tumau pe fesuisuiai umi. E sili atu ona fa'aaogaina ma fesuia'i umiUmi tumau - e oʻo atu ile 65 mataitusi. Uiga fesuisuiai - e oʻo atu ile 500 piliona mataitusi
Variantua suiaAtonu e iai se aso, se fa'apeopea, po'o se manoa. O lenei ituaiga e faʻaaogaina i mataupu e le o iloa muamua pe o le a le ituaiga faʻamatalaga o le a tuʻuina.Numera – Faalua, manoa – Manoa

E manino lava, i le faʻaaogaina o le laulau o loʻo i luga ma le filifilia o le ituaiga faʻamatalaga saʻo, e mafai ona e faʻaogaina le manatua sili atu le tamaoaiga (mo se faʻataʻitaʻiga, filifili le ituaiga faʻamatalaga Integer ae umi or nofofua ae faʻalua). Ae peitaʻi, pe a faʻaaogaina faʻamatalaga faʻamatalaga sili atu, e tatau ona e faʻaeteete ina ia aua neʻi taumafai lau code e faʻapipiʻi faʻatauvaʻa tetele i totonu ia i latou.

Fa'ailoaina o Fa'aliliuga ma Fa'atonu

Fa'amatalaga a le Faaliliu: I le tautala e uiga i fesuiaiga i le VBA, e taua le taʻua o se tasi mea sili ona taua. Afai matou te faʻaalia se fesuiaiga ae le tuʻuina atu se tau i ai, ona amataina lea i se tau le aoga:

• o laina o tusitusiga e amata i manoa gaogao;

• numera - taua 0;

• ituaiga fesuiaiga Faʻamalie — Sese;

• aso – Tesema 30, 1899.

A'o le'i mafai ona fa'aogaina se fesuiaiga po'o se fa'aauau, e tatau ona fa'ailoa. Ina ia faia lenei mea, faʻaopoopo le laina faigofie o code i le macro:

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

I luga ole laina ole code Suiga_igoa o le igoa o le fesuiaiga o le a faʻaaogaina i le code, ma Tulaga_Fa'amatalaga o se tasi o ituaiga faʻamatalaga mai le laulau na tuʻuina atu muamua i lenei tusiga. Faataitaiga:

Fa'amata'u sVAT_Fa'atatau e pei o le Ta'ufua Fa'atasi ma le Integer

O Constants e faʻaalia tutusa, ae a faʻaalia tumau, e tatau ona vave faʻaalia lo latou tau. Mo se faʻataʻitaʻiga, pei o lenei:

Const iMaxCount = 5000 Const iMaxScore = 100

E le manaʻomia le faʻaalia o fesuiaiga i Excel. E ala i le le mafai, o mea uma na ulufale ae le o faʻaalia i Excel o le ai ai le ituaiga Variant ma o le a mafai ona talia uma numera ma tusitusiga tau.

O le mea lea, e mafai e le tagata fai polokalame ona faʻaogaina le fesuiaiga fou i soʻo se taimi (tusa lava pe leʻi faʻaalia), ma Excel o le a faʻaaogaina o se fesuiaiga o ituaiga. Variant. Ae ui i lea, e tele mafuaʻaga e le tatau ai ona faia lenei mea:

  1. Fa'aoga manatua ma le saoasaoa fa'atatau. Afai e te le faʻaalia se fesuiaiga ma se faʻaaliga o le ituaiga faʻamatalaga, ona faʻaogaina lea o le a seti i le ituaiga Variant. O lenei ituaiga fa'amaumauga e fa'aoga tele le manatua nai lo isi ituaiga fa'amaumauga. O nai bytes faaopoopo i le fesuiaiga atonu e le foliga tele, ae i le faʻataʻitaʻiga, o polokalame e mafai ona i ai le faitau afe o fesuiaiga (aemaise lava pe a galue ma arrays). O le mea lea, o le manatua faaopoopo e faʻaaogaina e fesuiaiga pei Variant, fa'atusatusa i fesuiaiga o ituaiga Integer or nofofua, e mafai ona fa'aopoopo i se aofa'iga tele. E le gata i lea, o gaioiga ma fesuiaiga o ituaiga Variant e fa'atinoina e sili atu le lemu nai lo le fesuiaiga o isi ituaiga, fa'asologa, se afe fa'aopoopo fa'aopoopo o le ituaiga Variant e mafai ona matua fa'agesegese fa'atatau.
  2. Puipuia o le sese i igoa fesuisuiai. Afai e fa'ailoa uma suiga, ona mafai lea ona fa'aoga le fa'amatalaga VBA - Filifiliga manino (o le a tatou talanoa e uiga i ai mulimuli ane) ina ia mafai ona iloa uma fesuiaiga e lei faailoaina. O lenei mea e faʻaumatia ai le faʻaalia o se mea sese i totonu o le polokalame ona o se taunuuga o se igoa fesuiaʻi sese. Mo se faʻataʻitaʻiga, faʻaaogaina se fesuiaiga e igoa sVAT_fua, e mafai ona e faia se typo ma, tuʻuina atu se tau i lenei fesuiaiga, tusi: "VATRate = 0,175". O loʻo faʻamoemoe e amata atu nei, o le fesuiaiga sVAT_fua e tatau ona i ai le tau 0,175 - ae o le mea moni e leai. Afai e mafai ona faʻaogaina le faʻatonuga o le faʻatagaina o fesuiaiga uma, ona faʻaalia loa lea e le VBA compiler se mea sese, talu ai o le a le maua le fesuiaiga. VATRArate faatasi ai ma i latou na fofogaina.
  3. Faʻailogaina o tau e le fetaui ma le faʻaalia ituaiga o se fesuiaiga. Afai e te faʻaalia se fesuiaiga o se ituaiga ma taumafai e tuʻuina atu faʻamatalaga o se isi ituaiga i ai, o le ae maua se mea sese, lea, afai e le faʻasaʻoina, e mafai ona faʻalavelaveina le polokalame. I le tepa muamua, atonu e foliga mai o se mafuaʻaga lelei e le faʻaalia ai suiga, ae o le mea moni, nai lo le taimi muamua e foliga mai o se tasi o fesuiaiga na maua faʻamatalaga sese e tatau ona maua - e sili atu le lelei! A leai, afai e faʻaauau pea le polokalame, atonu e le saʻo ma faʻafuaseʻi iʻuga, ma o le a sili atu ona faigata ona maua le mafuaʻaga o mea sese. E mafai foi ona "manuia" le faʻatinoina o le macro. O se taunuuga, o le a le iloa le mea sese ma o le a faʻaauau pea galuega ma faʻamatalaga le saʻo!

I lenei tulaga, e manaʻomia le iloa o se ituaiga faʻamatalaga sese ma faʻasaʻo ia mea sese i le code i le vave e mafai ai. Mo nei mafua'aga, e fautuaina e te fa'ailoa uma fesuiaiga pe a tusia se VBA macro.

Filifiliga manino

Pule Filifiliga manino e mafua ai ona faʻaalia suiga uma o le a faʻaaogaina i le VBA code, ma fuʻa uma fesuiaiga e leʻi taʻutaʻua o ni mea sese i le taimi o le tuʻufaʻatasia (aʻo leʻi amataina le code execution). E le faigata le fa'aogaina o lenei fa'aoga - na'o le tusi lenei laina i le pito i luga ole faila VBA:

Option Explicit

Afai e te manaʻo e faʻaofi i taimi uma Filifiliga manino i le pito i luga o module VBA fou taitasi ua fatuina, e mafai ona faia otometi. Ina ia faia lenei mea, e tatau ona e faʻaagaina le filifiliga Manaomia Ta'utinoga Fesuia'i i le VBA fa'atonu fa'atonu.

E faia lenei mea e pei o lenei:

  • Mai le lisi o le Visual Basic Editor, kiliki meafaigaluega > filifiliga
  • I le talanoaga e aliali mai, tatala le tab faʻatonu
  • Siaki le pusa Manaomia Ta'utinoga Fesuia'i ma fetaomi OK

A mafai, o le manoa Filifiliga manino o le a otometi lava ona fa'aofiina i le amataga o module fou ta'itasi na faia.

Avanoa o Fesuia'iga ma Fa'amau

O fesuiaiga taʻitasi taʻitasi poʻo le tumau e iai lona lava faʻatapulaʻa lautele, o lona uiga, o se vaega faʻatapulaʻa o le polokalame o loʻo iai lenei fesuiaiga. O le lautele e faʻalagolago i le mea na faia ai le taʻutinoga o le fesuiaiga poʻo le tumau. Ave, mo se faʻataʻitaʻiga, le fesuiaiga sVAT_fua, lea e faʻaaogaina i le galuega Aofa'iga_Tau. O le laulau o lo'o i lalo o lo'o talanoaina ai filifiliga e lua mo le fa'avasegaina o fesuiaiga sVAT_fuafaʻaalia i tulaga eseese e lua i totonu o le module:

Filifiliga Fa'ailo manino sVAT_Fa'atatau e pei o le tasi galuega Aofa'i_Tau() Fa'alua ... Fa'ai'u Galuega
Afai o le fesuiaiga sVAT_fua faʻaalia i le amataga o le module, ona avea lea o le lautele o lenei fesuiaiga o le module atoa (ie le fesuiaiga sVAT_fua o le a iloa e ala uma i totonu o lenei module).

O le mea lea, afai i le galuega Aofa'iga_Tau ma liuliuina sVAT_fua o le a tuʻuina atu i ai se tau, ona faʻaaogaina lea e le isi galuega i totonu o le module lava lea e tasi le fesuiaiga sVAT_fua ma le uiga tutusa.

Ae peitaʻi, afai o nisi o galuega o loʻo i totonu o se isi module e taʻua, ona mo lea o le fesuiaiga sVAT_fua e le iloa.

Filifiliga Fa'amatalaga Fa'atino Aofa'i_Tau() Fa'alua Fa'amumū sVAT_Fa'atatau e Ta'atasi ... Fa'ai'u Galuega
Afai o le fesuiaiga sVAT_fua faʻaalia i le amataga o le galuega Aofa'iga_Tau, ona fa'atapula'aina lea o lona lautele i lenei galuega (fa'atusa i totonu ole galuega Aofa'iga_Tau, e mafai ona e faʻaogaina le fesuiaiga sVAT_fua, ae le o fafo).

Pe a taumafai e faʻaaoga sVAT_fua i se isi faiga, o le a lipotia e le VBA compiler se mea sese ona o lenei fesuiaiga e leʻi faʻaalia i fafo atu o le galuega Aofa'iga_Tau (pe a faʻapea o loʻo faʻaaogaina le tagata faʻatautaia Filifiliga manino).

I le faʻataʻitaʻiga o loʻo faʻaalia i luga, o le fesuiaiga o loʻo faʻaalia i le module level ma le upu autu Aso Lua. Ae ui i lea, atonu e manaʻomia le faʻaalia o fesuiaiga e mafai ona faʻaogaina i isi modules. I tulaga faapea, ia faailoa atu se fesuiaiga nai lo se upu autu Aso Lua e tatau ona fa'aoga upu Malo.

I le auala, ina ia mafai ona faʻaalia se fesuiaiga i le tulaga module, nai lo le upu autu Aso Lua e mafai ona fa'aoga upu patino, lea e faʻaalia ai o lenei fesuiaiga e faʻamoemoe mo naʻo le faʻaoga o loʻo iai nei.

E mafai fo'i ona e fa'aogaina fa'aupuga e fa'ailoa ai fa'amaumau. Malo и patino, ae le o le upu autu Const, faatasi ai ma ia.

O faʻataʻitaʻiga nei o loʻo faʻaalia ai le faʻaogaina o upu autu Malo и patino fa'atatau i fesuiaiga ma tumau.

Filifiliga Fa'amatalaga Fa'alaua'itele sVAT_Fa'atatau e pei ole Ta'atasi Fa'alaua'itele Const iMax_Count = 5000 ...    
I lenei faʻataʻitaʻiga, o le upu autu Malo fa'aaoga e fa'ailoa ai se fesuiaiga sVAT_fua ma tumau iMax_Count. O le lautele o elemene o loʻo faʻaalia i lenei auala o le a avea ma galuega uma o loʻo iai nei.

O lona uiga o lena mea sVAT_fua и iMax_Count o le a maua i so'o se vaega o poloketi.

Filifiliga Fa'amatalaga Fa'apitoa sVAT_Fa'atatau e pei o Ta'itasi Tutoatasi Const iMax_Count = 5000 ...    
I lenei faʻataʻitaʻiga, ia faʻaalia se fesuiaiga sVAT_fua ma tumau iMax_Count upu fa'aaoga patino. O le lautele o nei elemene o le module o loʻo iai nei.

O lona uiga o lena mea sVAT_fua и iMax_Count o le a avanoa i taualumaga uma o le module o loʻo i ai nei, ae o le a le avanoa i taualumaga i isi modules.

Tuua se tali