Pagsabot sa mga Variable ug Constants sa Excel Macros

Niini nga artikulo, mahibal-an nimo kung unsa ang mga kanunay ug mga variable sa mga macro, kung diin kini magamit, ug kung unsa ang panguna nga kalainan tali sa lainlaing mga tipo sa datos. Ipadayag usab kung ngano nga kinahanglan ang mga kanunay, kung mahimo nimo isulat ang usa ka variable ug dili gyud usbon kini.

Sama sa ubang mga programming language, ang data mahimong tipigan sa mga variable o constants (nga ang duha sagad gitawag usab nga mga sudlanan sa datos). Kini ang nag-unang kalainan tali niini nga mga konsepto. Ang nahauna mahimong mausab depende sa mahitabo sa programa. Sa baylo, ang mga makanunayon gibutang sa makausa ug dili usbon ang ilang bili.

Ang mga makanunayon mahimong mapuslanon kung kinahanglan nimo nga gamiton ang parehas nga dako nga kantidad sa daghang mga higayon. Imbis nga kopyahon ang numero, mahimo nimong isulat ang ngalan sa kanunay. Pananglitan, mahimo nimong gamiton ang kanunay nga "Pi" sa pagtipig sa Pi, nga usa ka kanunay nga kantidad. Kini dako kaayo, ug sa matag higayon nga lisud kaayo ang pagsulat niini o pagpangita ug pagkopya niini. Ug busa, igo na ang pagsulat sa duha ka mga karakter, ug ang palibot awtomatik nga naggamit sa gitinguha nga numero.

Ang tiggamit sa Excel kinahanglan nga magpahayag sa mga variable kung kinahanglan niya nga usbon ang kantidad nga gitipigan niini matag karon ug unya. Pananglitan, mahimo nimong itakda ang usa ka variable nga gitawag sVAT_Rate, nga magtipig sa karon nga rate sa VAT alang sa produkto. Kung kini mausab, mahimo nimo kini dali nga matul-id. Labi na kini nga mapuslanon alang sa mga nagnegosyo sa Estados Unidos, diin ang pipila nga mga butang mahimo’g dili ipailalom sa VAT (ug kini nga buhis lahi usab sa matag estado).

Mga Matang sa Data

Ang matag sudlanan sa datos mahimong usa sa daghang mga tipo. Ania ang usa ka lamesa nga naghulagway sa standard nga mga matang sa giproseso nga impormasyon. Adunay daghan niini, ug kini sa sinugdan daw sa usa ka bag-ohan nga sila nagsubli sa usag usa. Apan kini usa ka dili maayo nga pagbati. Basaha aron mahibal-an kung ngano nga ang pagtino sa husto nga tipo sa datos hinungdanon kaayo.

Wala kini girekomendar sa paggamit sa usa ka matang sa data nga nagkinahanglan og dugang nga luna sa memorya alang sa gagmay nga mga numero. Pananglitan, alang sa numero 1, igo na nga gamiton ang tipo sa Byte. Kini adunay usa ka positibo nga epekto sa performance sa executable module, ilabi na sa huyang nga mga computer. Apan importante nga dili moadto ug layo dinhi. Kung mogamit ka usa ka tipo sa datos nga gamay ra kaayo, ang usa ka dako nga kantidad mahimong dili mohaum niini.

Pagdeklara sa mga Constant ug Variable

Ang paggamit sa usa ka sudlanan sa datos nga wala una ipahayag kini kusganon nga nawad-an sa kadasig. Unya ang usa ka gidaghanon sa mga problema mahimong motumaw, sa paglikay nga kini mao ang gikinahanglan nga sa pagsulat sa usa ka pipila ka gagmay nga mga linya sa code uban sa enumeration sa mga baryable o constants.

Aron ipahayag ang usa ka variable, gigamit ang Dim nga pahayag. Pananglitan, sama niini:

Dim Variable_Name Ingong Integer

Ang Variable_Name mao ang ngalan sa variable. Sunod, ang As operator gisulat, nga nagpaila sa tipo sa datos. Imbis sa mga string nga "Variable_Name" ug "Integer", mahimo nimong isulod ang imong kaugalingon nga ngalan ug tipo sa datos.

Ang mga makanunayon mahimo usab nga ipahayag, apan kinahanglan nimo una nga ipiho ang ilang kantidad. Usa sa mga kapilian mao ang:

Const iMaxCount = 5000

Sa kaangayan, sa pipila ka mga kaso mahimo nimo nga wala magpahayag sa usa ka variable, apan sa kini nga kaso sila awtomatiko nga itudlo sa tipo nga Variant. Bisan pa, wala kini girekomenda alang sa mosunod nga mga hinungdan:

  1. Ang variant giproseso nga mas hinay, ug kung adunay daghang ingon nga mga baryable, ang pagproseso sa impormasyon mahimong mohinay pag-ayo sa huyang nga mga kompyuter. Morag kana nga mga segundo ang magdesisyon? Apan kung kinahanglan nimo nga isulat ang daghang mga linya sa code, ug dayon ipadagan usab kini sa huyang nga mga kompyuter (nga gibaligya gihapon, tungod kay ang mga modernong suite sa opisina nanginahanglan daghang RAM), mahimo nimong hingpit nga mapahunong ang trabaho. Adunay mga kaso kung ang dili maayo nga pagsulat sa mga macro misangpot sa pagyelo sa mga smartbook nga adunay gamay nga kantidad sa RAM ug wala gidesinyo sa paghimo sa mga komplikado nga buluhaton. 
  2. Gitugotan ang mga sayop nga pag-imprinta sa mga ngalan, nga mahimong mapugngan pinaagi sa paggamit sa Option Explicit nga pahayag, nga nagtugot kanimo sa pagpangita sa usa ka wala gipahayag nga variable, kung adunay makit-an. Kini usa ka dali nga paagi sa pag-ila sa mga sayup, tungod kay ang gamay nga typo hinungdan nga ang tighubad dili makaila sa variable. Ug kung imong i-on ang variable nga mode sa deklarasyon, ang tighubad dili motugot kanimo sa pagpadagan sa macro kung makit-an ang mga sulud sa datos nga wala gipahayag sa sinugdanan sa module.
  3. Likayi ang mga kasaypanan nga gipahinabo sa mga variable nga kantidad nga dili katumbas sa tipo sa datos. Kasagaran, ang pag-assign sa usa ka kantidad sa teksto sa usa ka variable nga integer magbutang usa ka sayup. Oo, sa usa ka bahin, ang usa ka generic nga tipo gi-assign nga wala’y deklarasyon, apan kung kini gipahayag nga abante, nan ang mga random nga sayup mahimong malikayan.

Busa, bisan pa sa tanan, girekomenda nga ipahayag ang tanan nga mga variable sa Excel macros.

Adunay usa pa ka butang nga hinumdoman kung magpahayag sa mga variable. Posible nga dili i-assign ang bisan unsang mga kantidad sa usa ka variable kung ipahayag kini, apan sa kini nga kaso nakakuha kini usa ka default nga kantidad. Pananglitan:

  1. Ang mga linya gihimo nga walay sulod.
  2. Ang mga numero nagkuha sa kantidad nga 0.
  3. Ang mga variable sa tipo nga Boolean sa sinugdan giisip nga bakak.
  4. Ang default nga petsa mao ang Disyembre 30, 1899.

Pananglitan, dili nimo kinahanglan nga i-assign ang kantidad nga 0 sa usa ka variable nga integer kung wala’y gitino kaniadto nga kantidad. Naa na niya kini nga numero.

Opsyon Tin-aw nga Pahayag

Kini nga pahayag nagtugot kanimo sa pagpahayag sa tanan nga mga variable nga gigamit sa VBA code ug pagtino sa presensya sa bisan unsang wala gipahayag nga mga sudlanan sa wala pa ang code gipadagan. Aron magamit kini nga bahin, isulat lang ang linya sa Opsyon nga Explicit code sa pinakataas nga bahin sa macro code.

Kung kinahanglan nimo nga ilakip kini nga pahayag sa imong code matag higayon, mahimo nimo kini gamit ang usa ka espesyal nga setting sa editor sa VBA. Aron mahimo kini nga kapilian, kinahanglan nimo:

  1. Lakaw ngadto sa development environment subay sa dalan - Tools> Options.
  2. Sa bintana nga magbukas pagkahuman niini, ablihi ang tab nga Editor.
  3. Ug sa katapusan, susiha ang kahon tapad sa Require Variable Declaration item.

Pagkahuman sa kini nga mga lakang, pag-klik sa buton "OK". 

Mao ra kana, karon kung isulat ang matag bag-ong macro, kini nga linya awtomatiko nga isulud sa taas sa code.

Kasangkaran sa mga Constant ug Variable

Ang matag variable o kanunay adunay limitado nga kasangkaran. Depende kung asa nimo ideklara.

Ibutang ta nga naa tay function Kinatibuk-ang gasto(), ug kini naggamit sa variable sVAT_Rate. Depende sa posisyon sa module, kini adunay lahi nga sakup:

Eksplisit nga Opsyon

Dim sVAT_Rate Ingon nga Single

Function Total_Cost() Ingon Doble

.

.

.

Kataposan nga Katungdanan

Kung ang usa ka variable gipahayag sa ibabaw sa usa ka module mismo, kini mokaylap sa tibuuk nga module. Sa ato pa, mabasa kini sa matag pamaagi.

Dugang pa, kung ang usa sa mga pamaagi nagbag-o sa bili sa variable, unya ang sunod usab magbasa niining gitul-id nga bili. Apan sa ubang mga modules kini nga variable dili gihapon mabasa.

Eksplisit nga Opsyon

Function Total_Cost() Ingon Doble

Dim sVAT_Rate Ingon nga Single

   .

   .

   .

Kataposan nga Katungdanan

Sa kini nga kaso, ang variable gipahayag sa sulod sa pamaagi, ug ang tighubad maglabay sa usa ka sayup kung kini gigamit sa lain nga pamaagi.

Kung gusto nimo ang variable nga mabasa sa ubang mga module, kinahanglan nimo gamiton ang Public keyword imbes nga Dim keyword. Sa susama, mahimo nimong limitahan ang sakup sa usa ka variable sa karon nga module lamang pinaagi sa paggamit sa Public statement, nga gisulat imbes sa pulong nga Dim.

Mahimo nimong itakda ang sakup sa mga kanunay sa parehas nga paagi, apan ang keyword dinhi gisulat kauban ang operator sa Const.

Ania ang usa ka lamesa nga adunay usa ka maayong panig-ingnan kung giunsa kini molihok sa mga kanunay ug mga variable.

Eksplisit nga Opsyon

Publiko nga sVAT_Rate Ingong Single

Pampublikong Const iMax_Count = 5000

Sa kini nga pananglitan, imong makita kung giunsa ang Public keyword gigamit sa pagpahayag sa usa ka variable, ug kung unsa ang kinahanglan nimo nga isulat sa Visual Basic editor aron ipahayag ang usa ka kanunay nga publiko. Ang kasangkaran sa kini nga mga sulud sa kantidad magamit sa tanan nga mga module.
Eksplisit nga Opsyon

Pribado nga sVAT_Rate Ingon Usa

Pribado nga Const iMax_Count = 5000

Dinhi, gideklarar ang mga variable ug constant gamit ang Private keyword. Kini nagpasabot nga kini makita lamang sulod sa kasamtangan nga module, ug ang mga pamaagi sa ubang mga modules dili makagamit niini.

Ngano nga gikinahanglan ang mga constant ug variable

Ang paggamit sa mga constants ug variables nagtugot kanimo sa pagdugang sa lebel sa pagsabot sa code. Ug kung ang mga nagsugod sa kinatibuk-an wala’y mga pangutana kung ngano nga gikinahanglan ang mga variable, nan adunay daghang mga dili klaro bahin sa panginahanglan alang sa mga kanunay. Ug kini nga pangutana ingon, sa una nga pagtan-aw, makatarunganon. Human sa tanan, mahimo nimong ipahayag ang usa ka variable sa makausa ug dili na kini usbon pag-usab.

Ang tubag nahimo nga usa ka lugar sa parehas nga eroplano kung bahin sa paggamit sa mga tipo sa datos nga nag-okupar sa usa ka dako nga wanang sa memorya. Kung nag-atubang kami sa daghang mga variable, mahimo namon nga dili tinuyo nga mabag-o ang usa ka sulud nga sulud. Kung ang tiggamit nagreseta nga ang usa ka piho nga kantidad dili na mausab, nan ang palibot awtomatik nga makontrol kini.

Kini labi ka hinungdanon kung ang macro gisulat sa daghang mga programmer. Mahimong nahibal-an sa usa nga ang pipila nga mga variable kinahanglan dili magbag-o. Ug ang lain dili. Kung imong gipiho ang operator sa Const, nahibal-an sa lain nga developer nga kini nga kantidad dili mausab.

O, kung adunay kanunay nga adunay usa ka ngalan, ug ang variable adunay lahi, apan parehas nga ngalan. Ang nag-develop mahimo ra nga maglibog kanila. Pananglitan, ang usa ka variable nga dili kinahanglan usbon gitawag nga Variable11, ug ang lain nga mahimong i-edit gitawag nga Variable1. Ang usa ka tawo mahimo nga awtomatiko, sa pagsulat sa code, aksidenteng makalaktaw sa usa ka dugang nga yunit ug dili makamatikod niini. Ingon usa ka sangputanan, ang sudlanan alang sa mga kantidad mabag-o, nga dili kinahanglan hikap.

O ang developer mismo mahimong makalimot kung unsang mga variable ang iyang mahikap ug dili niya mahimo. Kanunay kini nga mahitabo kung ang code gisulat sa daghang mga semana, ug ang gidak-on niini mahimong dako. Niini nga panahon, dali ra kaayo makalimtan bisan kung unsa ang gipasabut niini o kana nga variable.

Oo, mahimo nimo ang mga komento sa kini nga sitwasyon, apan dili ba mas dali ang pagtino sa pulong nga Const?

konklusyon

Ang mga variable usa ka hinungdanon nga sangkap sa macro programming, nga nagtugot kanimo sa paghimo sa mga komplikado nga operasyon, gikan sa mga kalkulasyon hangtod sa pagpahibalo sa tiggamit bahin sa pipila nga mga panghitabo o pagtino sa piho nga mga kantidad sa mga cell sa usa ka spreadsheet.

Ang mga kanunay kinahanglan gamiton kung ang developer sigurado nga nahibal-an nga ang mga sulud sa kini nga mga sulud dili mausab sa umaabot. Girekomenda nga dili mogamit mga variable sa baylo, tungod kay posible nga aksidente nga masayop.

Leave sa usa ka Reply