Nifhmu Varjabbli u Kostanti f'Macros Excel

F'dan l-artikolu, titgħallem x'kostanti u varjabbli huma fil-macros, fejn jistgħu jintużaw, u x'inhi d-differenza ewlenija bejn it-tipi ta 'dejta differenti. Jiġi żvelat ukoll għaliex il-kostanti huma meħtieġa, jekk tista 'sempliċement tikteb varjabbli u qatt ma tibdelha.

Bħal lingwi ta' programmar oħra, id-dejta tista' tinħażen f'varjabbli jew kostanti (li t-tnejn li huma spiss jissejħu wkoll kontenituri tad-dejta). Din hija d-differenza ewlenija bejn dawn il-kunċetti. L-ewwel jista 'jinbidel skond dak li jiġri fil-programm. Min-naħa tagħhom, il-kostanti huma stabbiliti darba u ma jbiddlux il-valur tagħhom.

Il-kostanti jistgħu jkunu utli jekk ikollok bżonn tuża l-istess valur kbir diversi drabi. Minflok ma tikkopja n-numru, tista 'sempliċement tikteb l-isem tal-kostanti. Pereżempju, tista 'tuża l-kostanti "Pi" biex taħżen Pi, li huwa valur kostanti. Huwa kbir ħafna, u kull darba huwa pjuttost diffiċli li tiktebha jew tfittex u tikkopjaha. U għalhekk, huwa biżżejjed li tikteb żewġ karattri, u l-ambjent awtomatikament juża n-numru mixtieq.

L-utent ta 'Excel jeħtieġ li jiddikjara varjabbli jekk ikollu bżonn ibiddel il-valur maħżun fihom minn żmien għal żmien. Pereżempju, tista' tissettja varjabbli msejħa sVAT_Rate, li se taħżen ir-rata attwali tal-VAT għall-prodott. Jekk tinbidel, tista 'malajr tikkoreġiha. Dan huwa speċjalment utli għal dawk li jagħmlu negozju fl-Istati Uniti, fejn xi oġġetti jistgħu ma jkunu suġġetti għall-VAT xejn (u din it-taxxa tvarja wkoll minn stat għal ieħor).

Tipi ta 'Dejta

Kull kontenitur tad-dejta jista 'jkun wieħed minn diversi tipi. Hawnhekk hawn tabella li tiddeskrivi t-tipi standard ta 'informazzjoni pproċessata. Hemm ħafna minnhom, u jista 'jidher li jibdew inizjalment li jirrepetu lil xulxin. Iżda dan huwa sentiment illużorju. Kompli aqra biex titgħallem għaliex li tispeċifika t-tip ta' dejta korrett hija daqshekk importanti.

Mhux rakkomandat li tuża tip ta' dejta li jieħu aktar spazju fil-memorja għal numri żgħar. Pereżempju, għan-numru 1, huwa biżżejjed li tuża t-tip Byte. Dan ikollu effett pożittiv fuq il-prestazzjoni tal-modulu eżekutibbli, speċjalment fuq kompjuters dgħajfa. Iżda huwa importanti li ma tmurx wisq hawn. Jekk tuża tip ta' data li huwa kompatt wisq, valur ta' daqs kbir jista' ma jidħolx fih.

Dikjarazzjoni ta' Kostanti u Varjabbli

L-użu ta' kontenitur tad-dejta mingħajr ma l-ewwel jiġi ddikjarat huwa skoraġġut ħafna. Imbagħad jistgħu jinqalgħu numru ta 'problemi, biex jiġi evitat li huwa meħtieġ li tikteb ftit linji żgħar ta' kodiċi b'enumerazzjoni ta 'varjabbli jew kostanti.

Biex tiddikjara varjabbli, tintuża d-dikjarazzjoni Dim. Per eżempju, bħal dan:

Dim Variable_Name Bħala Integer

Variable_Name huwa l-isem tal-varjabbli. Sussegwentement, l-operatur As huwa miktub, li jindika t-tip tad-dejta. Minflok il-kordi "Variable_Name" u "Integer", tista' daħħal l-isem u t-tip tad-dejta tiegħek stess.

Il-kostanti jistgħu wkoll jiġu ddikjarati, iżda l-ewwel trid tispeċifika l-valur tagħhom. Waħda mill-għażliet hija:

Const iMaxCount = 5000

Fil-ġustizzja, f'xi każijiet tista 'tagħmel mingħajr ma tiddikjara varjabbli, iżda f'dan il-każ awtomatikament jiġu assenjati t-tip Varjant. Madankollu, dan mhux rakkomandat għar-raġunijiet li ġejjin:

  1. Il-varjant jiġi pproċessat ħafna aktar bil-mod, u jekk ikun hemm ħafna varjabbli bħal dawn, l-ipproċessar tal-informazzjoni jista 'jitnaqqas b'mod sinifikanti fuq kompjuters dgħajfa. Jidher li dawk is-sekondi se jiddeċiedu? Imma jekk ikollok tikteb numru kbir ta 'linji ta' kodiċi, u mbagħad tħaddem ukoll fuq kompjuters dgħajfa (li għadhom mibjugħa, peress li s-suites tal-uffiċċju moderni jeħtieġu ħafna RAM), tista 'twaqqaf kompletament ix-xogħol. Hemm każijiet meta kitba ħażina ta 'macros wasslet għall-iffriżar ta' smartbooks li għandhom ammont żgħir ta 'RAM u mhumiex iddisinjati biex iwettqu kompiti kumplessi. 
  2. Huma permessi stampi żbaljati fl-ismijiet, li jistgħu jiġu evitati bl-użu tad-dikjarazzjoni Espliċita tal-Għażla, li tippermettilek issib varjabbli mhux iddikjarat, jekk tinstab waħda. Dan huwa mod faċli biex jinstabu żbalji, peress li l-iċken typo jikkawża li l-interpretu ma jkunx jista' jidentifika l-varjabbli. U jekk tixgħel il-mod ta 'dikjarazzjoni varjabbli, l-interpretu sempliċement ma jippermettilekx tħaddem il-makro jekk jinstabu kontenituri tad-dejta li ma kinux iddikjarati fil-bidu nett tal-modulu.
  3. Evita żbalji kkawżati minn valuri varjabbli li ma jaqblux mat-tip tad-dejta. Normalment, l-assenjazzjoni ta 'valur ta' test għal varjabbli numru sħiħ se tarmi żball. Iva, minn naħa waħda, tip ġeneriku jiġi assenjat mingħajr dikjarazzjoni, iżda jekk jiġu ddikjarati minn qabel, allura jistgħu jiġu evitati żbalji każwali.

Għalhekk, minkejja kollox, huwa rakkomandat ħafna li tiddikjara l-varjabbli kollha fil-makros Excel.

Hemm ħaġa oħra li wieħed iżomm f'moħħu meta tiddikjara varjabbli. Huwa possibbli li ma jiġux assenjati valuri lil varjabbli meta tiddikjaraha, iżda f'dan il-każ takkwista valur default. Pereżempju:

  1. Il-linji jsiru vojta.
  2. In-numri jieħdu l-valur 0.
  3. Varjabbli tat-tip Boolean huma inizjalment meqjusa foloz.
  4. Id-data awtomatika hija t-30 ta’ Diċembru 1899.

Pereżempju, m'għandekx bżonn tassenja l-valur 0 għal varjabbli numru sħiħ jekk l-ebda valur ma kien speċifikat qabel. Hija diġà fiha dan in-numru.

Għażla Dikjarazzjoni Espliċita

Din id-dikjarazzjoni tippermettilek tiddikjara l-varjabbli kollha li jintużaw fil-kodiċi VBA u tiddetermina l-preżenza ta 'xi kontenituri mhux iddikjarati qabel ma jitħaddem il-kodiċi. Biex tuża din il-karatteristika, sempliċement ikteb linja ta 'Kodiċi Espliċitu tal-Għażla fin-naħa ta' fuq nett tal-kodiċi makro.

Jekk għandek bżonn tinkludi din id-dikjarazzjoni fil-kodiċi tiegħek kull darba, tista 'tagħmel dan billi tuża setting speċjali fl-editur VBA. Biex tippermetti din l-għażla, trid:

  1. Mur fl-ambjent ta 'żvilupp tul it-triq - Għodod> Għażliet.
  2. Fit-tieqa li tiftaħ wara dan, iftaħ it-tab Editur.
  3. U fl-aħħarnett, iċċekkja l-kaxxa ħdejn l-oġġett Jeħtieġ Dikjarazzjoni Varjabbli.

Meta tlesti dawn il-passi, ikklikkja fuq il-buttuna "OK". 

Dak hu, issa meta tikteb kull makro ġdid, din il-linja se tiddaħħal fil-quċċata tal-kodiċi awtomatikament.

Skop ta' Kostanti u Varjabbli

Kull varjabbli jew kostanti għandha biss ambitu limitat. Jiddependi minn fejn tiddikjaraha.

Ejja ngħidu li għandna funzjoni Total_Cost(), u juża l-varjabbli sVAT_Rate. Skont il-pożizzjoni fil-modulu, se jkollu skop differenti:

Għażla Espliċita

Dim sVAT_Rate As Single

Funzjoni Total_Cost() Bħala Doppju

.

.

.

Funzjoni Tmiem

Jekk varjabbli tiġi ddikjarata fin-naħa ta' fuq ta' modulu nnifsu, din tinfirex f'dak il-modulu. Jiġifieri, jista 'jinqara minn kull proċedura.

Barra minn hekk, jekk waħda mill-proċeduri bidlet il-valur tal-varjabbli, allura dik li jmiss se jaqra wkoll dan il-valur korrett. Iżda f'moduli oħra din il-varjabbli xorta mhux se tinqara.

Għażla Espliċita

Funzjoni Total_Cost() Bħala Doppju

Dim sVAT_Rate As Single

   .

   .

   .

Funzjoni Tmiem

F'dan il-każ, il-varjabbli tiġi ddikjarata ġewwa l-proċedura, u l-interpretu se jarmi żball jekk jintuża fi proċedura oħra.

Jekk trid li l-varjabbli tinqara minn moduli oħra, trid tuża l-kelma prinċipali Pubblika minflok il-kelma prinċipali Dim. Bl-istess mod, tista 'tillimita l-ambitu ta' varjabbli għall-modulu attwali biss billi tuża l-istqarrija Pubblika, li hija miktuba minflok il-kelma Dim.

Tista 'tissettja l-ambitu tal-kostanti b'mod simili, iżda l-kelma prinċipali hawnhekk hija miktuba flimkien mal-operatur Const.

Hawnhekk hawn tabella b'eżempju tajjeb ta 'kif taħdem ma' kostanti u varjabbli.

Għażla Espliċita

sVAT_Rate Pubblika Bħala Uniku

Public Const iMax_Count = 5000

F'dan l-eżempju, tista 'tara kif il-kelma prinċipali Pubblika tintuża biex tiddikjara varjabbli, u dak li għandek bżonn tikteb fl-editur Visual Basic biex tiddikjara kostanti pubblika. L-ambitu ta 'dawn il-kontenituri ta' valur japplika għall-moduli kollha.
Għażla Espliċita

Private sVAT_Rate As Single

Private Const iMax_Count = 5000

Hawnhekk, il-varjabbli u l-kostanti huma ddikjarati bl-użu tal-keyword Privat. Dan ifisser li jistgħu jidhru biss fil-modulu attwali, u proċeduri f'moduli oħra ma jistgħux jużawhom.

Għaliex huma meħtieġa kostanti u varjabbli

L-użu ta 'kostanti u varjabbli jippermettilek li żżid il-grad ta' fehim tal-kodiċi. U jekk dawk li jibdew b'mod ġenerali m'għandhomx mistoqsijiet dwar għaliex huma meħtieġa varjabbli, allura hemm ħafna ambigwitajiet rigward il-ħtieġa ta 'kostanti. U din il-mistoqsija tidher, mal-ewwel daqqa t'għajn, pjuttost loġika. Wara kollox, tista 'tiddikjara varjabbli darba u qatt ma terġa' tibdelha.

It-tweġiba tirriżulta li tkun xi mkien fl-istess pjan fir-rigward tal-użu ta 'tipi ta' data li jokkupaw spazju kbir fil-memorja. Jekk qed nittrattaw ma 'numru kbir ta' varjabbli, nistgħu aċċidentalment nibdlu kontenitur eżistenti. Jekk l-utent jippreskrivi li ċertu valur qatt mhu se jinbidel, allura l-ambjent awtomatikament jikkontrolla dan.

Dan huwa speċjalment importanti meta l-makro jinkiteb minn diversi programmaturi. Wieħed jista 'jkun jaf li xi varjabbli m'għandux jinbidel. U l-ieħor mhux. Jekk tispeċifika l-operatur Const, żviluppatur ieħor ikun jaf li dan il-valur ma jinbidilx.

Jew, jekk hemm kostanti b'isem wieħed, u l-varjabbli għandha isem differenti, iżda simili. L-iżviluppatur jista 'sempliċement iħawwadhom. Pereżempju, varjabbli waħda li m'għandhiex għalfejn tinbidel tissejjaħ Varjabbli11, u oħra li tista' tiġi editjata tissejjaħ Varjabbli1. Persuna tista 'awtomatikament, meta tikteb kodiċi, aċċidentalment taqbeż unità żejda u ma tinnotaha. Bħala riżultat, il-kontenitur għall-valuri se jinbidel, li m'għandux jintmess.

Jew l-iżviluppatur innifsu jista 'jinsa liema varjabbli jista' jmiss u liema ma jistax. Dan spiss jiġri meta l-kodiċi jinkiteb għal diversi ġimgħat, u d-daqs tiegħu jsir kbir. Matul dan iż-żmien, huwa faċli ħafna li tinsa anke xi tfisser din jew dik il-varjabbli.

Iva, tista 'tagħmel bil-kummenti f'din is-sitwazzjoni, iżda mhux aktar faċli li tispeċifika l-kelma Const?

Konklużjonijiet

Il-varjabbli huma komponent essenzjali tal-ipprogrammar makro, li jippermettulek twettaq operazzjonijiet kumplessi, minn kalkoli sa tinforma lill-utent dwar ċerti avvenimenti jew tispeċifika valuri speċifiċi fiċ-ċelloli ta 'spreadsheet.

Il-kostanti għandhom jintużaw jekk l-iżviluppatur ikun jaf żgur li l-kontenut ta 'dawn il-kontenituri mhux se jinbidel fil-futur. Huwa rakkomandat li ma tużax varjabbli minflok, peress li huwa possibbli li aċċidentalment isir żball.

Ħalli Irrispondi