Athróga agus tairisigh i VBA

I VBA, mar atá in aon teanga ríomhchlárúcháin eile, úsáidtear athróga agus tairisigh chun aon luachanna a stóráil. Mar a thugann an t-ainm le tuiscint, is féidir le hathróga athrú, agus stórálann tairisigh luachanna seasta.

Mar shampla, tairiseach Pi stóráiltear an luach 3,14159265… Ní athróidh an uimhir “Pi” le linn fheidhmiú an chláir, ach tá sé níos áisiúla fós luach den sórt sin a stóráil mar thairiseach.

Ag an am céanna, is féidir linn an athróg a úsáid sVAT_Ráta chun an ráta CBL ar earraí ceannaithe a stóráil. Luach athraitheach sVAT_Ráta féadfaidh sé athrú ag brath ar an táirge a ceannaíodh.

Cineálacha Sonraí

Tá gach athróg agus tairisigh de chineál sonraí ar leith. Liostaíonn an tábla thíos na cineálacha sonraí a úsáidtear in VBA le cur síos agus raon de luachanna féideartha:

Cineál sonraí méidTuairiscRaon luachanna
ByteBytes 1slánuimhreacha dearfacha; a úsáidtear go minic le haghaidh sonraí dénárthaó 0 go 255
BooleBytes 2Is féidir a bheith Fíor nó BréagachFíor nó bréagach
SlánuimhirBytes 2Slánuimhreacha (gan cuid chodánach)ó -32 go +768
FadaBytes 4Slánuimhreacha móra (gan cuid chodánach)от -2 147 483 648 до +2 147 483 647
singilBytes 4Uimhir snámhphointe beachtais aonairó -3.4e38 go +3.4e38
dúbailteBytes 8Uimhir snámhphointe cruinneas dúbailteó -1.8e308 go +1.8e308
airgeadraBytes 8Uimhir shnámhphointe, le líon seasta ionad deachúlachот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
dátaBytes 8Dáta agus am – Sonraí cineáil Léiríonn an dáta uimhir snámhphointe. Cuireann an tslánuimhir den uimhir seo an dáta in iúl, agus cuireann an chuid codánach an t-am in iúl.ó 1 Eanáir, 100 go 31 Nollaig, 9999
RéadBytes 4Tagairt réadAon tagairt réad
teaghránag athrúTacar carachtar. Is féidir fad seasta nó fad athraitheach a bheith ag an gcineál Teaghrán. Níos coitianta a úsáidtear le fad athraitheachFad seasta – suas le thart ar 65 carachtar. Fad athraitheach – suas le thart ar 500 billiún carachtar
Leaganag athrúD’fhéadfadh dáta, snámhán, nó teaghrán carachtair a bheith ann. Úsáidtear an cineál seo i gcásanna nach bhfuil sé ar eolas roimh ré cén cineál sonraí a chuirfear isteach.Uimhir – Dúbailte, teaghrán – Teaghrán

Ar ndóigh, ag baint úsáide as an tábla thuas agus ag roghnú an cineál sonraí ceart, is féidir leat cuimhne a úsáid ar bhealach níos eacnamaí (mar shampla, roghnaigh an cineál sonraí Slánuimhir ionad Fada or singil ionad dúbailte). Mar sin féin, nuair a bhíonn cineálacha sonraí níos dlúithe á n-úsáid agat, ní mór duit a bheith cúramach nach ndéanann do chód iarracht luachanna díréireach móra a chur isteach iontu.

Athróga agus Tairisigh a Dhearbhú

Nóta ón Aistritheoir: Ag labhairt dó faoi athróga i VBA, is fiú pointe an-tábhachtach amháin eile a lua. Má dhearbhaímid athróg ach nach sannaimid luach ar bith di, cuirtear luach réamhshocraithe inisealaithe leis:

• cuirtear teaghráin fholmha in aghaidh teaghráin téacs;

• uimhreacha — luach 0;

• athróga cineáil Boole — Bréagach;

• dátaí – 30 Nollaig, 1899.

Sula bhféadfar athróg nó tairiseach a úsáid, ní mór é a dhearbhú. Chun seo a dhéanamh, cuir an líne cód simplí seo a leanas leis an macra:

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

Sa líne chóid thuas ainm_athraitheach is ainm don athróg a úsáidfear sa chód, agus Sonraí_Cineál ar cheann de na cineálacha sonraí ón tábla a tugadh beagán níos luaithe san Airteagal seo. Mar shampla:

Dim sVAT_Rate As Single Dim agus Mar Slánuimhir

Déantar tairisigh a dhearbhú mar an gcéanna, ach nuair a bhíonn tairisigh á ndearbhú, ní mór a luach a léiriú láithreach. Mar shampla, mar seo:

Const iMaxCount = 5000 Const iMaxScore = 100

Ní gá athróga a dhearbhú in Excel. De réir réamhshocraithe, beidh an cineál ag gach athróg iontráilte ach nach bhfuil dearbhaithe in Excel Leagan agus beidh siad in ann glacadh le luach uimhriúil agus téacs araon.

Mar sin, is féidir leis an ríomhchláraitheoir an athróg nua a úsáid ag am ar bith (fiú mura bhfuil sé dearbhaithe), agus déileálfaidh Excel leis mar athróg cineáil Leagan. Mar sin féin, tá roinnt cúiseanna ann nár cheart é seo a dhéanamh:

  1. Úsáid cuimhne agus luas ríomhaireachtúil. Mura ndearbhaíonn tú athróg le léiriú ar an gcineál sonraí, ansin de réir réamhshocraithe socrófar é don chineál Leagan. Úsáideann an cineál sonraí seo níos mó cuimhne ná cineálacha sonraí eile. B’fhéidir nach bhfuil mórán beart breise in aghaidh an athróg le cloisteáil go leor, ach go praiticiúil, is féidir leis na mílte athróg a bheith ag cláir (go háirithe agus iad ag obair le eagair). Dá bhrí sin, is maith an chuimhne breise a úsáideann athróga Leagan, i gcomparáid le hathróga cineáil Slánuimhir or singil, is féidir suas le méid suntasach. Ina theannta sin, oibríochtaí le hathróga de chineál Leagan a fhorghníomhú i bhfad níos moille ná mar a dhéantar le hathróga de chineálacha eile, faoi seach, míle breise de chineál athróg Leagan is féidir go mall síos ríomhaireachtaí.
  2. Cosc ar typos in ainmneacha athraitheacha. Má dhearbhaítear gach athróg, is féidir an ráiteas VBA a úsáid − Rogha Sonraithe (beidh muid ag caint faoi níos déanaí) chun gach athróg neamhdhearbhaithe a aithint. Cuireann sé seo deireadh le cuma earráide sa chlár mar thoradh ar ainm athróg a scríobhadh go mícheart. Mar shampla, ag baint úsáide as athróg ainmnithe sVAT_Ráta, is féidir leat clóscríobh a dhéanamh agus, ag sannadh luach don athróg seo, scríobh: “VATRate = 0,175”. Táthar ag súil go as seo amach, an athróg sVAT_Ráta ba chóir go mbeadh an luach 0,175 ann – ach ar ndóigh níl. Má tá modh dearbhaithe éigeantach na n-athróg úsáidte go léir cumasaithe, léireoidh an tiomsaitheoir VBA earráid láithreach, toisc nach bhfaighidh sé an athróg Ráta CBL ina measc siúd a fógraíodh.
  3. Aibhsítear luachanna nach dtagann leis an gcineál dearbhaithe athróige. Má dhearbhaíonn tú athróg de chineál áirithe agus má dhéanann tú iarracht sonraí de chineál difriúil a shannadh dó, gheobhaidh tú earráid, rud a d’fhéadfadh an clár a thuairteáil mura ndéantar é a cheartú. Ar an gcéad amharc, b’fhéidir gur cúis mhaith é seo gan athróga a dhearbhú, ach i ndáiríre, ná mar a tharla roimhe seo, go bhfuair ceann de na hathróga na sonraí míchearta a bhí ceaptha dó a fháil – is amhlaidh is fearr i bhfad! Seachas sin, má leanann an clár ar aghaidh ag rith, féadfaidh na torthaí a bheith mícheart agus gan choinne, agus beidh sé i bhfad níos deacra cúis na n-earráidí a aimsiú. Is féidir freisin go ndéanfar an macra a fhorghníomhú “go rathúil”. Mar thoradh air sin, ní thugtar an earráid faoi deara agus leanfar den obair le sonraí míchearta!

Maidir leis seo, tá sé inmhianaithe cineál sonraí mícheart a bhrath agus earráidí den sórt sin sa chód a cheartú chomh luath agus is féidir. Ar na cúiseanna seo, moltar duit gach athróg a dhearbhú agus macra VBA á scríobh agat.

Rogha Sonraithe

oibreoir Rogha Sonraithe is cúis le gach athróg a úsáidfear i gcód VBA a dhearbhú, agus bratacha ar gach athróg neamhdhearbhaithe mar earráidí le linn tiomsaithe (sula dtosaítear ar fhorghníomhú an chóid). Níl sé deacair an t-oibreoir seo a chur i bhfeidhm - scríobh an líne seo ag barr an chomhaid VBA:

Option Explicit

Más mian leat a chur isteach i gcónaí Rogha Sonraithe go barr gach modúl VBA nua a cruthaíodh, is féidir é seo a dhéanamh go huathoibríoch. Chun seo a dhéanamh, ní mór duit an rogha a chumasú Dearbhú Athróg a cheangal i socruithe eagarthóir VBA.

Déantar é seo mar seo:

  • Ón Eagarthóir Visual Basic roghchlár, cliceáil uirlisí > Roghanna
  • Sa dialóg atá le feiceáil, oscail an cluaisín Eagarthóir
  • Seiceáil an bosca Dearbhú Athróg a cheangal agus brúigh OK

Nuair a bheidh sé cumasaithe, an teaghrán Rogha Sonraithe cuirfear isteach go huathoibríoch iad ag tús gach modúl nua a chruthófar.

Scóip Athróga agus Tairiseach

Tá a raon feidhme teoranta féin ag gach athróg nó tairiseach dearbhaithe, is é sin, cuid theoranta den chlár ina bhfuil an athróg seo. Braitheann an raon feidhme ar an áit a ndearnadh an dearbhú ar an athróg nó ar an tairiseach. Tóg, mar shampla, an athróg sVAT_Ráta, a úsáidtear sa fheidhm Iomlán_Costas. Pléann an tábla seo a leanas dhá rogha maidir le scóip inathraithe sVAT_Rátadearbhaithe in dhá phost dhifriúla sa mhodúl:

Rogha Sonraithe Dim sVAT_Rátáil Mar Feidhm Aonair Total_Cost() Mar Dhúbailte ... Feidhm Deiridh
Má tá an athróg sVAT_Ráta dearbhaithe ag tús an mhodúil, ansin is é raon feidhme na hathróige seo an modúl iomlán (ie an athróg sVAT_Ráta aitheanta ag gach nós imeachta sa mhodúl seo).

Dá bhrí sin, más rud é sa fheidhm Iomlán_Costas athróg sVAT_Ráta Sannfar luach éigin, ansin bainfidh an chéad fheidhm eile a fhorghníomhófar laistigh den mhodúl céanna úsáid as an athróg sVAT_Ráta leis an gciall chéanna.

Mar sin féin, má thugtar feidhm éigin atá suite i modúl eile, ansin an athróg dó sVAT_Ráta ní bheidh a fhios.

Rogha Feidhm Shoiléir Total_Costas() Mar Dhúbailte Toise sVAT_Rátáil Mar Aonair ... Feidhm Deiridh
Má tá an athróg sVAT_Ráta dearbhaithe ag tús na feidhme Iomlán_Costas, ansin beidh a raon feidhme teoranta don fheidhm seo amháin (ie laistigh den fheidhm Iomlán_Costas, is féidir leat an athróg a úsáid sVAT_Ráta, ach ní lasmuigh).

Nuair a iarraidh a úsáid sVAT_Ráta i nós imeachta eile, tuairisceoidh an tiomsaitheoir VBA earráid toisc nár dearbhaíodh an athróg seo lasmuigh den fheidhm Iomlán_Costas (ar choinníoll go n-úsáidtear an t-oibreoir Rogha Sonraithe).

Sa sampla a thaispeántar thuas, dearbhaítear an t-athróg ag leibhéal an mhodúil leis an eochairfhocal Dim. D’fhéadfadh sé a bheith riachtanach, áfach, gur féidir athróga dearbhaithe a úsáid i modúil eile. I gcásanna den sórt sin, athróg a dhearbhú in ionad eochairfhocal Dim ní mór eochairfhocal a úsáid Poiblí.

Dála an scéil, d'fhonn athróg a dhearbhú ar leibhéal an mhodúil, in ionad an eochairfhocail Dim is féidir eochairfhocal a úsáid Príobháideacha, a thugann le fios go bhfuil an athróg seo beartaithe le húsáid sa mhodúl reatha amháin.

Is féidir leat eochairfhocail a úsáid freisin chun tairisigh a dhearbhú. Poiblí и Príobháideacha, ach ní in ionad an eochairfhocail const, in éineacht leis.

Léiríonn na samplaí seo a leanas úsáid eochairfhocail Poiblí и Príobháideacha a chuirtear i bhfeidhm ar athróga agus tairisigh.

Rogha sVAT_Ráta Poiblí follasach mar Bhunmhéid Poiblí Aonair iMax_Count = 5000 ...    
Sa sampla seo, an eochairfhocal Poiblí a úsáidtear chun athróg a dhearbhú sVAT_Ráta agus tairisigh iMax_Comhaireamh. Is é raon feidhme na n-eilimintí a dhearbhófar ar an mbealach seo an tionscadal reatha iomlán.

Ciallaíonn sé seo go sVAT_Ráta и iMax_Comhaireamh ar fáil in aon mhodúl tionscadail.

Rogha Príobháideach follasach sVAT_Rátáil mar Chomhshuíomh Príobháideach Aonair iMax_Count = 5000 ...    
Sa sampla seo, athróg a dhearbhú sVAT_Ráta agus tairisigh iMax_Comhaireamh eochairfhocal a úsáidtear Príobháideacha. Is é raon feidhme na n-eilimintí seo an modúl reatha.

Ciallaíonn sé seo go sVAT_Ráta и iMax_Comhaireamh ar fáil i ngach nós imeachta den mhodúl reatha, ach ní bheidh sé ar fáil do nósanna imeachta i modúil eile.

Leave a Reply