Kuptimi i variablave dhe konstanteve në makro Excel

Në këtë artikull, do të mësoni se cilat konstante dhe variabla janë në makro, ku mund të përdoren dhe cili është ndryshimi kryesor midis llojeve të ndryshme të të dhënave. Do të zbulohet gjithashtu pse nevojiten konstante, nëse thjesht mund të shkruani një ndryshore dhe të mos e ndryshoni kurrë atë.

Ashtu si gjuhët e tjera të programimit, të dhënat mund të ruhen në variabla ose konstante (të dyja shpesh quhen kontejnerë të dhënash). Ky është ndryshimi kryesor midis këtyre koncepteve. E para mund të ndryshojë në varësi të asaj që ndodh në program. Nga ana tjetër, konstantet vendosen një herë dhe nuk e ndryshojnë vlerën e tyre.

Konstantet mund të jenë të dobishme nëse duhet të përdorni të njëjtën vlerë të madhe disa herë. Në vend që të kopjoni numrin, thjesht mund të shkruani emrin e konstantës. Për shembull, mund të përdorni konstanten "Pi" për të ruajtur Pi, e cila është një vlerë konstante. Është shumë i madh, dhe çdo herë është mjaft e vështirë ta shkruajmë ose ta kërkosh dhe ta kopjosh. Dhe kështu, mjafton të shkruani dy karaktere, dhe mjedisi automatikisht përdor numrin e dëshiruar.

Përdoruesi i Excel-it duhet të deklarojë variablat nëse duhet të ndryshojë herë pas here vlerën e ruajtur në to. Për shembull, mund të vendosni një ndryshore të quajtur sVAT_Rate, e cila do të ruajë normën aktuale të TVSH-së për produktin. Nëse ndryshon, mund ta korrigjoni shpejt. Kjo është veçanërisht e dobishme për ata që bëjnë biznes në Shtetet e Bashkuara, ku disa mallra mund të mos i nënshtrohen fare TVSH-së (dhe kjo taksë gjithashtu ndryshon nga shteti në shtet).

Llojet e të dhënave

Çdo kontejner i të dhënave mund të jetë një nga disa lloje. Këtu është një tabelë që përshkruan llojet standarde të informacionit të përpunuar. Ka shumë prej tyre, dhe fillestarit mund t'i duket fillimisht se ata përsërisin njëri-tjetrin. Por kjo është një ndjenjë iluzore. Lexoni më tej për të mësuar pse është kaq e rëndësishme të specifikoni llojin e saktë të të dhënave.

Nuk rekomandohet përdorimi i një lloji të dhënash që zë më shumë hapësirë ​​në memorie për numra të vegjël. Për shembull, për numrin 1, mjafton të përdoret lloji Byte. Kjo do të ketë një efekt pozitiv në performancën e modulit të ekzekutueshëm, veçanërisht në kompjuterët e dobët. Por këtu është e rëndësishme të mos shkojmë shumë larg. Nëse përdorni një lloj të dhënash që është shumë kompakt, një vlerë e madhe mund të mos përshtatet në të.

Deklarimi i konstantave dhe variablave

Përdorimi i një kontejneri të dhënash pa e deklaruar më parë është i dekurajuar fuqimisht. Atëherë mund të lindin një sërë problemesh, për të shmangur të cilat është e nevojshme të shkruani disa rreshta të vegjël kodi me numërimin e ndryshoreve ose konstanteve.

Për të deklaruar një variabël, përdoret deklarata Dim. Për shembull, si kjo:

Dim Variable_Emri si numër i plotë

Variable_Name është emri i ndryshores. Më pas, shkruhet operatori As, duke treguar llojin e të dhënave. Në vend të vargjeve "Variable_Name" dhe "Integer", mund të futni emrin tuaj dhe llojin e të dhënave.

Konstantet gjithashtu mund të deklarohen, por fillimisht duhet të specifikoni vlerën e tyre. Një nga opsionet është:

Const iMaxCount = 5000

Me ndershmëri, në disa raste mund të bëni pa deklaruar një variabël, por në këtë rast atyre do t'u caktohet automatikisht lloji Variant. Megjithatë, kjo nuk rekomandohet për arsyet e mëposhtme:

  1. Varianti përpunohet shumë më ngadalë dhe nëse ka shumë variabla të tillë, përpunimi i informacionit mund të ngadalësohet ndjeshëm në kompjuterë të dobët. Do të duket se ato sekonda do të vendosin? Por nëse duhet të shkruani një numër të madh rreshtash kodi, dhe pastaj ta ekzekutoni atë në kompjuterë të dobët (të cilët ende shiten, duke qenë se suitat moderne të zyrës kërkojnë shumë RAM), mund ta ndaloni plotësisht punën. Ka raste kur shkrimi i keq konceptuar i makrove çoi në ngrirjen e librave inteligjentë që kanë një sasi të vogël RAM dhe nuk janë krijuar për të kryer detyra komplekse. 
  2. Lejohen shtypje të gabuara në emra, të cilat mund të parandalohen duke përdorur deklaratën Option Explicit, e cila ju lejon të gjeni një variabël të padeklaruar, nëse gjendet. Kjo është një mënyrë e thjeshtë për të zbuluar gabimet, pasi gabimi më i vogël shtypi bën që përkthyesi të mos jetë në gjendje të identifikojë variablin. Dhe nëse aktivizoni modalitetin e deklarimit të ndryshores, përkthyesi thjesht nuk do t'ju lejojë të ekzekutoni makro nëse gjenden kontejnerë të dhënash që nuk ishin deklaruar në fillim të modulit.
  3. Shmangni gabimet e shkaktuara nga vlerat e variablave që nuk përputhen me llojin e të dhënave. Normalisht, caktimi i një vlere teksti në një variabël të plotë do të shkaktojë një gabim. Po, nga njëra anë, një lloj gjenerik caktohet pa një deklaratë, por nëse ato deklarohen paraprakisht, atëherë gabimet e rastësishme mund të shmangen.

Prandaj, pavarësisht gjithçkaje, rekomandohet shumë që të deklarohen të gjitha variablat në makro Excel.

Ekziston edhe një gjë që duhet mbajtur parasysh kur deklaroni variabla. Është e mundur të mos i caktoni asnjë vlerë një ndryshoreje kur e deklaroni atë, por në këtë rast ajo fiton një vlerë të paracaktuar. Për shembull:

  1. Linjat bëhen bosh.
  2. Numrat marrin vlerën 0.
  3. Variablat e tipit Boolean fillimisht konsiderohen false.
  4. Data e paracaktuar është 30 dhjetor 1899.

Për shembull, nuk keni nevojë t'i caktoni vlerën 0 një ndryshoreje numër të plotë nëse nuk është specifikuar më parë asnjë vlerë. Ajo tashmë e përmban këtë numër.

Opsioni Deklaratë eksplicite

Kjo deklaratë ju lejon të deklaroni të gjitha variablat që përdoren në kodin VBA dhe të përcaktoni praninë e ndonjë kontejneri të padeklaruar përpara se të ekzekutohet kodi. Për të përdorur këtë veçori, thjesht shkruani një rresht të kodit Option Explicit në krye të kodit makro.

Nëse ju duhet ta përfshini këtë deklaratë në kodin tuaj çdo herë, mund ta bëni këtë duke përdorur një cilësim të veçantë në redaktorin VBA. Për të aktivizuar këtë opsion, duhet:

  1. Shkoni te mjedisi i zhvillimit përgjatë rrugës – Mjetet > Opsionet.
  2. Në dritaren që hapet pas kësaj, hapni skedën Editor.
  3. Dhe së fundi, kontrolloni kutinë pranë artikullit Kërkoni deklarimin e ndryshores.

Pas përfundimit të këtyre hapave, klikoni në butonin "OK". 

Kjo është e gjitha, tani kur shkruani çdo makro të re, kjo rresht do të futet automatikisht në krye të kodit.

Shtrirja e konstantave dhe variablave

Çdo variabël ose konstante ka vetëm një shtrirje të kufizuar. Varet se ku e deklaroni.

Supozoni se kemi një funksion Kostoja_gjithsej(), dhe përdor variablin sVAT_Rate. Në varësi të pozicionit në modul, ai do të ketë një shtrirje të ndryshme:

Opsioni i qartë

Dim sVAT_Rate Si Single

Funksioni Total_Cost() Si Double

.

.

.

Funksioni Fundi

Nëse një variabël deklarohet në krye të vetë një moduli, ai përhapet në të gjithë atë modul. Kjo do të thotë, mund të lexohet me çdo procedurë.

Për më tepër, nëse njëra nga procedurat ka ndryshuar vlerën e ndryshores, atëherë edhe tjetra do të lexojë këtë vlerë të korrigjuar. Por në modulet e tjera kjo variabël nuk do të lexohet ende.

Opsioni i qartë

Funksioni Total_Cost() Si Double

Dim sVAT_Rate Si Single

   .

   .

   .

Funksioni Fundi

Në këtë rast, ndryshorja deklarohet brenda procedurës dhe interpretuesi do të hedhë një gabim nëse përdoret në një procedurë tjetër.

Nëse dëshironi që ndryshorja të lexohet nga module të tjera, duhet të përdorni fjalën kyçe Publike në vend të fjalës kyçe Dim. Në mënyrë të ngjashme, ju mund të kufizoni shtrirjen e një ndryshoreje vetëm në modulin aktual duke përdorur deklaratën Publike, e cila është shkruar në vend të fjalës Dim.

Ju mund të vendosni shtrirjen e konstantave në një mënyrë të ngjashme, por fjala kyçe këtu shkruhet së bashku me operatorin Const.

Këtu është një tabelë me një shembull të mirë se si funksionon me konstante dhe variabla.

Opsioni i qartë

Publike sVAT_Rate Si Single

Kostoja publike iMax_Count = 5000

Në këtë shembull, mund të shihni se si fjala kyçe Publike përdoret për të deklaruar një variabël dhe çfarë duhet të shkruani në redaktorin e Visual Basic për të deklaruar një konstante publike. Shtrirja e këtyre kontejnerëve me vlerë vlen për të gjitha modulet.
Opsioni i qartë

Private sVAT_Rate Si Single

Kostoja private iMax_Count = 5000

Këtu, variablat dhe konstantet deklarohen duke përdorur fjalën kyçe Private. Kjo do të thotë se ato mund të shihen vetëm brenda modulit aktual dhe procedurat në modulet e tjera nuk mund t'i përdorin ato.

Pse nevojiten konstante dhe ndryshore

Përdorimi i konstantave dhe variablave ju lejon të rritni shkallën e kuptueshmërisë së kodit. Dhe nëse fillestarët në përgjithësi nuk kanë pyetje se pse nevojiten variablat, atëherë ka shumë paqartësi në lidhje me nevojën për konstante. Dhe kjo pyetje duket, në shikim të parë, mjaft logjike. Në fund të fundit, ju mund të deklaroni një variabël një herë dhe të mos e ndryshoni më kurrë.

Përgjigja rezulton të jetë diku në të njëjtin plan sa i përket përdorimit të llojeve të të dhënave që zënë një hapësirë ​​të madhe në memorie. Nëse kemi të bëjmë me një numër të madh variablash, mund të ndryshojmë aksidentalisht një kontejner ekzistues. Nëse përdoruesi përshkruan që një vlerë e caktuar nuk do të ndryshojë kurrë, atëherë mjedisi do ta kontrollojë automatikisht këtë.

Kjo është veçanërisht e rëndësishme kur makro është shkruar nga disa programues. Dikush mund të dijë se disa ndryshore nuk duhet të ndryshojnë. Dhe tjetra nuk është. Nëse specifikoni operatorin Const, një zhvillues tjetër do ta dijë që kjo vlerë nuk ndryshon.

Ose, nëse ka një konstante me një emër, dhe ndryshorja ka një emër të ndryshëm, por të ngjashëm. Zhvilluesi thjesht mund t'i ngatërrojë ato. Për shembull, një variabël që nuk ka nevojë të ndryshohet quhet Variable11, dhe një tjetër që mund të modifikohet quhet Variable1. Një person mundet automatikisht, kur shkruan kodin, të kapërcejë aksidentalisht një njësi shtesë dhe të mos e vërejë atë. Si rezultat, kontejneri për vlerat do të ndryshohet, i cili nuk duhet të preket.

Ose vetë zhvilluesi mund të harrojë se cilat variabla mund të prekë dhe cilat jo. Kjo ndodh shpesh kur kodi shkruhet për disa javë dhe madhësia e tij bëhet e madhe. Gjatë kësaj kohe, është shumë e lehtë të harrohet edhe se çfarë do të thotë kjo apo ajo ndryshore.

Po, mund të bëni me komente në këtë situatë, por a nuk është më e lehtë të specifikoni fjalën Const?

Konkluzione

Variablat janë një komponent thelbësor i programimit makro, të cilët ju lejojnë të kryeni operacione komplekse, nga llogaritjet deri te informimi i përdoruesit për ngjarje të caktuara ose specifikimi i vlerave specifike në qelizat e një spreadsheet.

Konstantet duhet të përdoren nëse zhvilluesi e di me siguri se përmbajtja e këtyre kontejnerëve nuk do të ndryshojë në të ardhmen. Rekomandohet të mos përdorni variabla në vend të tyre, pasi është e mundur të gaboni aksidentalisht.

Lini një Përgjigju