Caochlaidhean agus seasmhach ann an VBA

Ann an VBA, mar ann an cànan prògramadh sam bith eile, thathas a’ cleachdadh caochladairean agus rèiteachaidhean gus luachan sam bith a stòradh. Mar a tha an t-ainm a’ ciallachadh, faodaidh caochladairean atharrachadh, fhad ‘s a bhios luachan seasmhach a’ stòradh luachan stèidhichte.

Mar eisimpleir, seasmhach Pi a’ stòradh an luach 3,14159265… Chan atharraich an àireamh “Pi” nuair a thèid am prògram a chuir an gnìomh, ach tha e fhathast nas freagarraiche a leithid de luach a stòradh mar seasmhach.

Aig an aon àm, is urrainn dhuinn an caochladair a chleachdadh sVAT_Rate gus an ìre VAT a stòradh air bathar a chaidh a cheannach. Luach caochlaideach sVAT_Rate faodaidh iad atharrachadh a rèir an toraidh a chaidh a cheannach.

Seòrsan dàta

Tha gach caochladair agus seasmhach de sheòrsa dàta sònraichte. Tha an clàr gu h-ìosal a’ liostadh nan seòrsaichean dàta a chaidh a chleachdadh ann an VBA le tuairisgeul agus raon de luachan a dh’ fhaodadh a bhith ann:

Seòrsa dàta meudTuairisgeulRaon luachan
LeudachainBytes 1Integers dearbhach; gu tric air a chleachdadh airson dàta binarybho 0 gu 255
BooleBytes 2Faodaidh e a bhith fìor no ceàrrFìor no meallta
AmalachadhBytes 2Àireamhan slàn (gun phàirt bloighteach)bho -32 gu +768
LongBytes 4Àireamhan mòra (gun phàirt bloighteach)от -2 147 483 648 до +2 147 483 647
singilteBytes 4Àireamh puing fleòdraidh mionaideachd singiltebho -3.4e38 gu +3.4e38
DoubleBytes 8Àireamh puing fleòdraidh mionaideachd dùbailtebho -1.8e308 gu +1.8e308
currencyBytes 8Àireamh puing-fleòdraidh, le àireamh shuidhichte de dh'àiteachan deicheachот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
Ceann-làBytes 8Ceann-latha agus àm - Dàta seòrsa Tha ceann-latha air a riochdachadh le àireamh puing-fleòdraidh. Tha am pàirt iomlan den àireamh seo a’ cur an cèill a’ chinn-latha, agus tha am pàirt bloighteach a’ cur an cèill an ùine.bho 1 Faoilleach, 100 gu 31 Dùbhlachd, 9999
RudBytes 4Iomradh nìIomradh nì sam bith
Stringag atharrachadhSeata caractar. Faodaidh an seòrsa sreang a bhith de dh'fhaid stèidhichte no caochlaideach. Nas trice air a chleachdadh le fad caochlaideachFaid stèidhichte - suas ri timcheall air 65 caractar. Faid caochlaideach - suas ri timcheall air 500 billean caractar
Eadar-dhealaichteag atharrachadhFaodaidh ceann-latha, fleòdradh, no sreang charactaran a bhith ann. Tha an seòrsa seo air a chleachdadh ann an cùisean far nach eil fios ro-làimh dè an seòrsa dàta a thèid a chuir a-steach.Àireamh - Dùbailte, sreang - sreang

Gu follaiseach, a 'cleachdadh a' chlàr gu h-àrd agus a 'taghadh an seòrsa dàta ceart, faodaidh tu cuimhne a chleachdadh nas èifeachdaiche (mar eisimpleir, tagh an seòrsa dàta Amalachadh àite Long or singilte àite Double). Ach, nuair a bhios tu a’ cleachdadh seòrsaichean dàta nas toinnte, feumaidh tu a bhith faiceallach nach feuch an còd agad ri luachan neo-chothromach mòr a chuir a-steach annta.

A’ cur an cèill caochlaidhean agus cunbhalachd

Nota an eadar-theangair: A 'bruidhinn mu chaochladairean ann an VBA, is fhiach iomradh a thoirt air aon phuing fìor chudromach. Ma chuireas sinn an cèill caochladair ach nach sònraich sinn luach sam bith dha, thèid a thòiseachadh le luach bunaiteach:

• thèid teudan teacsa a thòiseachadh le sreangan falamh;

• àireamhan - luach 0;

• caochladairean seòrsa Boole - meallta;

• cinn-latha – 30 Dùbhlachd, 1899.

Mus faodar caochladair no seasmhach a chleachdadh, feumar a chuir an cèill. Gus seo a dhèanamh, cuir an loidhne chòd shìmplidh a leanas ris a’ macro:

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

Anns an loidhne chòd gu h-àrd ainm_caochlaideach is e ainm a’ chaochladair a thèid a chleachdadh sa chòd, agus Dàta_Seòrsa Is e seo aon de na seòrsaichean dàta bhon chlàr a chaidh a thoirt seachad beagan na bu thràithe san artaigil seo. Mar eisimpleir:

Dim sVAT_Rate As Single Dim i As Integer

Thathas a’ cur an cèill co-chomharran san aon dòigh, ach nuair a thathar a’ foillseachadh stàball, feumar an luach a chomharrachadh sa bhad. Mar eisimpleir, mar seo:

Co-dhiù iMaxCount = 5000 Co-chòrdadh iMaxScore = 100

Chan eil e riatanach caochladairean ainmeachadh ann an Excel. Gu gnàthach, bidh an seòrsa aig a h-uile caochladair a chaidh a chuir a-steach ach nach deach ainmeachadh ann an Excel Eadar-dhealaichte agus bidh e comasach dhaibh gabhail ris an dà chuid luach àireamhach agus teacsa.

Mar sin, faodaidh am prògramadair an caochladair ùr a chleachdadh aig àm sam bith (eadhon ged nach deach ainmeachadh), agus làimhsichidh Excel e mar chaochladair seòrsa Eadar-dhealaichte. Ach, tha grunn adhbharan ann airson nach bu chòir seo a dhèanamh:

  1. Cleachdadh cuimhne agus astar coimpiutaireachd. Mura cuir thu an cèill caochladair le comharra air an t-seòrsa dàta, an uairsin gu bunaiteach thèid a shuidheachadh chun t-seòrsa Eadar-dhealaichte. Bidh an seòrsa dàta seo a’ cleachdadh barrachd cuimhne na seòrsaichean dàta eile. Is dòcha nach bi beagan bytes a bharrachd airson gach caochladair coltach ri mòran, ach ann an cleachdadh, faodaidh mìltean de chaochladairean a bhith aig prògraman (gu sònraichte nuair a bhios iad ag obair le arrays). Mar sin, tha an cuimhne a bharrachd air a chleachdadh le caochladairean mar Eadar-dhealaichte, an coimeas ri caochladairean seòrsa Amalachadh or singilte, faodaidh e suas ri suim mhòr. A bharrachd air an sin, gnìomhan le caochladairean de sheòrsa Eadar-dhealaichte air an cur an gnìomh mòran nas slaodaiche na le caochladairean de sheòrsan eile, fa leth, mìle caochladairean seòrsa a bharrachd Eadar-dhealaichte faodaidh e àireamhachadh a dhèanamh nas slaodaiche.
  2. Casg air typos ann an ainmean caochlaideach. Ma thèid na caochladairean uile ainmeachadh, faodar an aithris VBA a chleachdadh - Roghainn follaiseach (bruidhnidh sinn mu dheidhinn nas fhaide air adhart) gus gach caochladair neo-dhearbhte aithneachadh. Bidh seo a’ cur às do choltas mearachd sa phrògram mar thoradh air ainm caochlaideach sgrìobhte. Mar eisimpleir, a 'cleachdadh caochladair ainmichte sVAT_Rate, faodaidh tu typo a dhèanamh agus, a’ sònrachadh luach don chaochladair seo, sgrìobh: “VATRate = 0,175”. Thathas an dùil bho seo a-mach, an caochladair sVAT_Rate bu chòir an luach 0,175 a bhith ann - ach gu dearbh chan eil. Ma tha am modh dearbhaidh èigneachail de na caochladairean cleachdte air a chomasachadh, seallaidh an compiler VBA mearachd sa bhad, leis nach lorg e an caochladair Ìre VAT am measg an fheadhainn a chaidh ainmeachadh.
  3. A’ soilleireachadh luachan nach eil a’ freagairt ris an t-seòrsa dearbhte de chaochladair. Ma dh’ainmicheas tu caochladair de sheòrsa sònraichte agus ma dh’ fheuchas tu ri dàta de sheòrsa eadar-dhealaichte a shònrachadh dha, gheibh thu mearachd, a dh’ adhbhraicheas am prògram ma dh’ fhàgas e gun cheartachadh. Aig a’ chiad dol-a-mach, is dòcha gu bheil seo a’ coimhead mar adhbhar math gun a bhith ag ainmeachadh caochladairean, ach gu dearbh, na bha e roimhe gun d’ fhuair aon de na caochladairean an dàta ceàrr a bha còir aige fhaighinn - mar sin mar as fheàrr! Rud eile, ma chumas am prògram a’ ruith, faodaidh na toraidhean a bhith ceàrr agus ris nach robh dùil, agus bidh e tòrr nas duilghe adhbhar nam mearachdan a lorg. Tha e comasach cuideachd gun tèid am macro a chuir gu bàs “gu soirbheachail”. Mar thoradh air an sin, thèid a’ mhearachd gun mhothachadh agus leanaidh obair le dàta ceàrr!

A thaobh seo, tha e ion-mhiannaichte a lorgadh ceàrr seòrsa dàta agus ceartachadh a leithid de mhearachdan anns a 'chòd cho tràth' sa ghabhas. Air na h-adhbharan sin, thathas a’ moladh gun innis thu a h-uile caochladair nuair a sgrìobhas tu macro VBA.

Roghainn follaiseach

Operator Roghainn follaiseach ag adhbhrachadh gun tèid a h-uile caochladair a thèid a chleachdadh ann an còd VBA ainmeachadh, agus a’ comharrachadh a h-uile caochladair nach deach ainmeachadh mar mhearachdan aig àm cur ri chèile (mus tòisich coileanadh còd). Chan eil e doirbh an gnìomhaiche seo a chuir an sàs - dìreach sgrìobh an loidhne seo aig fìor mhullach an fhaidhle VBA:

Option Explicit

Ma tha thu airson cuir a-steach an-còmhnaidh Roghainn follaiseach gu mullach gach modal VBA ùr a chaidh a chruthachadh, faodar seo a dhèanamh gu fèin-ghluasadach. Gus seo a dhèanamh, feumaidh tu an roghainn a chomasachadh Dearbhadh caochlaideach a dhìth ann an roghainnean deasaiche VBA.

Tha seo air a dhèanamh mar seo:

  • Bho chlàr Deasaiche Visual Basic, cliog innealan > roghainnean
  • Anns a’ chòmhradh a nochdas, fosgail an taba Deasaiche
  • Thoir sùil air a ’bhogsa Dearbhadh caochlaideach a dhìth agus pàipearan-naidheachd OK

Nuair a bhios e comasach, an sreang Roghainn follaiseach thèid a chuir a-steach gu fèin-ghluasadach aig toiseach gach modal ùr a thèid a chruthachadh.

Farsaingeachd nan caochlaidhean agus nan co-chomharran

Tha a raon cuibhrichte fhèin aig gach caochladair no seasmhach, is e sin, pàirt cuibhrichte den phrògram anns a bheil an caochladair seo ann. Tha an raon an urra ri far an deach an caochladair no an seasmhach a dhearbhadh. Gabh, mar eisimpleir, an caochlaideach sVAT_Rate, a tha air a chleachdadh anns a 'ghnìomh Iomlan_Cosgais. Tha an clàr a leanas a’ beachdachadh air dà roghainn airson farsaingeachd caochlaideach sVAT_Rateainmeachadh ann an dà dhreuchd eadar-dhealaichte sa mhodal:

Roghainn follaiseach Dim sVAT_Rate As Single Function Total_Cost() Mar Dùbailte ... Gnìomh Deireannach
Ma tha an caochlaideach sVAT_Rate ainmeachadh aig fìor thoiseach a’ mhodail, agus an uairsin is e farsaingeachd a’ chaochladair seo am modal gu lèir (ie an caochladair sVAT_Rate aithneachadh leis a h-uile modh sa mhodal seo).

Mar sin, ma tha e ann an gnìomh Iomlan_Cosgais caochlaideach sVAT_Rate thèid luach a thoirt dha, agus an uairsin cleachdaidh an ath ghnìomh a thèid a chuir gu bàs san aon mhodal an caochladair sVAT_Rate leis an aon chiall.

Ach, ma chanar ri cuid de dh’ obair a tha suidhichte ann am modal eile, an uairsin an caochladair air a shon sVAT_Rate cha bhi fios.

Roghainn gnìomh follaiseach Total_Cost() Mar Dim Dùbailte sVAT_Rate As Singilte ... Gnìomh Deireannach
Ma tha an caochlaideach sVAT_Rate ainmeachadh aig toiseach na h-obrach Iomlan_Cosgais, an uairsin bidh an raon aige cuingealaichte ris a’ ghnìomh seo a-mhàin (ie taobh a-staigh an gnìomh Iomlan_Cosgais, faodaidh tu an caochladair a chleachdadh sVAT_Rate, ach chan ann a-muigh).

Nuair a bhios tu a 'feuchainn ri cleachdadh sVAT_Rate ann am modh-obrach eile, bheir an neach-cruinneachaidh VBA cunntas air mearachd leis nach deach an caochladair seo ainmeachadh taobh a-muigh na gnìomh Iomlan_Cosgais (fhad ‘s a tha an gnìomhaiche air a chleachdadh Roghainn follaiseach).

Anns an eisimpleir gu h-àrd, tha an caochladair air ainmeachadh aig ìre modal leis a’ phrìomh fhacal Dim. Ach, dh’ fhaodadh gum bi e riatanach caochladairean dearbhte a chleachdadh ann am modalan eile. Ann an leithid de chùisean, caochladair ainmeachadh an àite prìomh fhacal Dim feumar prìomh fhacal a chleachdadh Phoblach.

Co-dhiù, gus caochladair ainmeachadh aig ìre modal, an àite am prìomh fhacal Dim faodar prìomh fhacal a chleachdadh prìobhaideach, a tha a 'sealltainn gu bheil an caochladair seo airson a chleachdadh a-mhàin sa mhodal làithreach.

Faodaidh tu cuideachd prìomh fhaclan a chleachdadh gus cunbhalachd fhoillseachadh. Phoblach и prìobhaideach, ach chan ann an àite a’ phrìomh fhacal Cons, maille ris.

Tha na h-eisimpleirean a leanas a’ sealltainn cleachdadh prìomh fhaclan Phoblach и prìobhaideach air a chur an sàs ann an caochladairean agus seasmhach.

Roghainn sVAT_Rate poblach follaiseach mar Bhun-stèidh Poblach Singilte iMax_Count = 5000 ...    
Anns an eisimpleir seo, am prìomh fhacal Phoblach air a chleachdadh gus caochladair fhoillseachadh sVAT_Rate agus seasmhach iMax_ Cunnt. Is e farsaingeachd nan eileamaidean a thèid ainmeachadh san dòigh seo am pròiseact làithreach gu lèir.

Tha seo a 'ciallachadh sin sVAT_Rate и iMax_ Cunnt bidh e ri fhaighinn ann am modal pròiseict sam bith.

Roghainn prìobhaideach sònraichte sVAT_Rate Mar Const Prìobhaideach Singilte iMax_Count = 5000 ...    
Anns an eisimpleir seo, gus caochladair ainmeachadh sVAT_Rate agus seasmhach iMax_ Cunnt prìomh fhacal air a chleachdadh prìobhaideach. Is e farsaingeachd nan eileamaidean sin am modal gnàthach.

Tha seo a 'ciallachadh sin sVAT_Rate и iMax_ Cunnt bidh e ri fhaotainn anns a h-uile modh den mhodal làithreach, ach cha bhi e ri fhaotainn do mhodhan-obrach ann am modalan eile.

Leave a Reply