Ngartos Variabel sareng Konstanta dina Macros Excel

Dina tulisan ieu, anjeun bakal diajar naon konstanta sareng variabel dina makro, dimana aranjeunna tiasa dianggo, sareng naon bédana utama antara jinis data anu béda. Éta ogé bakal diungkabkeun naha konstanta diperyogikeun, upami anjeun ngan ukur tiasa nyerat variabel sareng henteu kantos ngarobih.

Sapertos basa pamrograman anu sanés, data tiasa disimpen dina variabel atanapi konstanta (duanana ogé sering disebut wadah data). Ieu bédana utama antara konsép ieu. Urut bisa robah gumantung kana naon anu lumangsung dina program. Sabalikna, konstanta diatur sakali sareng henteu ngarobih nilaina.

Konstanta tiasa mangpaat upami anjeun kedah nganggo nilai ageung anu sami sababaraha kali. Gantina nyalin nomer, anjeun ngan saukur tiasa nyerat nami konstanta. Contona, anjeun tiasa nganggo konstanta "Pi" pikeun nyimpen Pi, nu mangrupakeun nilai konstan. Éta ageung pisan, sareng unggal waktos rada sesah nyerat atanapi milarian sareng nyalin. Janten, cekap nyerat dua karakter, sareng lingkunganana otomatis nganggo nomer anu dipikahoyong.

Pamaké Excel kedah ngadéklarasikeun variabel upami anjeunna kedah ngarobih nilai anu disimpen di dinya ti waktos ka waktos. Salaku conto, anjeun tiasa nyetél variabel anu disebut sVAT_Rate, anu bakal nyimpen tingkat PPN ayeuna pikeun produk. Upami éta robih, anjeun tiasa gancang ngabenerkeunana. Ieu hususna kapaké pikeun jalma anu ngalakukeun bisnis di Amérika Serikat, dimana sababaraha barang tiasa waé henteu tunduk kana PPN (sareng pajeg ieu ogé béda-béda ti nagara bagian ka nagara).

Jenis Data

Unggal wadah data tiasa janten salah sahiji sababaraha jinis. Ieu tabel anu ngajelaskeun jinis standar inpormasi anu diolah. Aya loba di antarana, sarta eta bisa sigana hiji pemula mimitina yén maranéhna ngulang silih. Tapi ieu rarasaan ilusi. Baca terus pikeun diajar naha nangtukeun jinis data anu leres penting pisan.

Henteu disarankeun pikeun nganggo jinis data anu nyéépkeun langkung seueur rohangan dina mémori pikeun nomer leutik. Contona, pikeun angka 1, cukup ngagunakeun tipe Byte. Ieu bakal boga pangaruh positif kana kinerja modul laksana, utamana dina komputer lemah. Tapi kade ulah jauh teuing di dieu. Upami anjeun nganggo jinis data anu kompak teuing, nilai anu ageung tiasa waé henteu pas.

Ngadéklarasikeun Konstanta sareng Variabel

Ngagunakeun wadah data tanpa mimiti nyatakeun éta pisan discouraged. Teras sababaraha masalah tiasa timbul, pikeun ngahindarkeun anu peryogi nyerat sababaraha garis kode leutik sareng enumerasi variabel atanapi konstanta.

Pikeun nyatakeun variabel, pernyataan Dim dianggo. Contona, saperti kieu:

Taram Variable_Name Salaku Integer

Variable_Name nyaeta nami variabel. Salajengna, operator Salaku ditulis, nunjukkeun jinis data. Gantina senar "Variable_Name" jeung "Integer", Anjeun bisa nyelapkeun ngaran anjeun sorangan jeung tipe data.

Konstanta ogé bisa dinyatakeun, tapi anjeun kudu nangtukeun nilai maranéhanana. Salah sahiji pilihan nyaéta:

Const iMaxCount = 5000

Dina kaadilan, dina sababaraha kasus anjeun tiasa ngalakukeun tanpa nyatakeun variabel, tapi dina hal ieu aranjeunna bakal otomatis ditugaskeun jinis Varian. Nanging, ieu henteu disarankeun pikeun alesan ieu:

  1. Varian diolah langkung laun, sareng upami aya seueur variabel sapertos kitu, pamrosésan inpormasi tiasa sacara signifikan ngalambatkeun dina komputer anu lemah. Éta sigana yén detik-detik éta bakal mutuskeun? Tapi lamun kudu nulis angka nu gede ngarupakeun garis kode, lajeng ogé ngajalankeun eta dina komputer lemah (anu masih dijual, nunjukkeun yen suites kantor modern merlukeun loba RAM), Anjeun sagemblengna bisa ngeureunkeun karya. Aya kasus nalika tulisan makro anu teu kapikiran nyababkeun katirisan buku pinter anu gaduh jumlah RAM anu sakedik sareng henteu dirancang pikeun ngalaksanakeun tugas anu rumit. 
  2. Misprints dina ngaran diidinan, nu bisa dicegah ku ngagunakeun pilihan pernyataan eksplisit, nu ngidinan Anjeun pikeun manggihan variabel undeclared, lamun salah kapanggih. Ieu mangrupakeun cara nu panggampangna pikeun ngadeteksi kasalahan, sabab typo pangleutikna ngabalukarkeun juru jadi teu bisa nangtukeun variabel. Tur upami Anjeun salah ngaktipkeun mode deklarasi variabel, juru bakal saukur teu ngidinan Anjeun pikeun ngajalankeun makro lamun peti data kapanggih nu teu dinyatakeun dina awal modul.
  3. Hindarkeun kasalahan anu disababkeun ku nilai variabel anu henteu cocog sareng jinis data. Biasana, napelkeun nilai téks kana variabel integer bakal ngalungkeun kasalahan. Leres, di hiji sisi, jinis generik ditugaskeun tanpa deklarasi, tapi upami aranjeunna dinyatakeun sateuacanna, kasalahan acak tiasa dihindari.

Janten, sanaos sadayana, disarankeun pisan pikeun nyatakeun sadaya variabel dina makro Excel.

Aya hiji deui hal anu kedah diperhatoskeun nalika nyatakeun variabel. Kasebut nyaéta dimungkinkeun pikeun henteu napelkeun nilai-nilai kana variabel nalika nyatakeun éta, tapi dina hal ieu éta nampi nilai standar. Salaku conto:

  1. Garis dijieun kosong.
  2. Angka nyandak nilai 0.
  3. Variabel tipe Boolean mimitina dianggap palsu.
  4. Tanggal standar nyaéta 30 Désémber 1899.

Contona, anjeun teu kedah napelkeun nilai 0 kana variabel integer lamun euweuh nilai ieu dieusian saméméhna. Manehna geus ngandung nomer ieu.

Pilihan Pernyataan Eksplisit

Pernyataan ieu ngamungkinkeun anjeun pikeun nyatakeun sadaya variabel anu dianggo dina kode VBA sareng nangtoskeun ayana wadah anu henteu didéklarasikeun sateuacan kode dijalankeun. Pikeun ngagunakeun fitur ieu, cukup tuliskeun baris kode Eksplisit Pilihan di bagian luhur kode makro.

Upami anjeun kedah ngalebetkeun pernyataan ieu dina kode anjeun unggal waktos, anjeun tiasa ngalakukeun éta nganggo setélan khusus dina redaktur VBA. Pikeun ngaktipkeun pilihan ieu, anjeun kedah:

  1. Pindah ka lingkungan pamekaran sapanjang jalur - Alat> Pilihan.
  2. Dina jandéla anu muka saatos ieu, buka tab Éditor.
  3. Tungtungna, pariksa kotak gigireun item Merlukeun Variabel Déklarasi.

Kana parantosan léngkah ieu, klik dina tombol "OK". 

Éta waé, ayeuna nalika nyerat unggal makro énggal, garis ieu bakal diselapkeun di luhur kode sacara otomatis.

Lingkup Konstanta jeung Variabel

Unggal variabel atawa konstanta boga ukur lingkup kawates. Éta gumantung dimana anjeun nyatakeun éta.

Anggap urang boga fungsi Total_Cost(), sarta ngagunakeun variabel sVAT_Rate. Gumantung kana posisi dina modul, éta bakal boga wengkuan béda:

Pilihan Eksplisit

Taram sVAT_Rate Salaku Tunggal

Fungsi Total_Cost () Salaku Ganda

.

.

.

tungtung Fungsi

Lamun variabel dinyatakeun dina luhureun modul sorangan, eta propagates sakuliah modul éta. Hartina, bisa dibaca ku unggal prosedur.

Sumawona, upami salah sahiji prosedur ngarobih nilai variabel, maka anu salajengna ogé bakal maca nilai anu dilereskeun ieu. Tapi dina modul séjén variabel ieu masih moal dibaca.

Pilihan Eksplisit

Fungsi Total_Cost () Salaku Ganda

Taram sVAT_Rate Salaku Tunggal

   .

   .

   .

tungtung Fungsi

Dina hal ieu, variabel dinyatakeun dina jero prosedur, sareng juru bakal ngalungkeun kasalahan upami dianggo dina prosedur anu sanés.

Upami anjeun hoyong variabel dibaca ku modul anu sanés, anjeun kedah nganggo kecap konci Umum tibatan kecap konci Taram. Nya kitu, anjeun tiasa ngawates ruang lingkup variabel ngan ukur modul ayeuna ku ngagunakeun pernyataan Umum, anu ditulis tibatan kecap Taram.

Anjeun tiasa nyetél ruang lingkup konstanta dina cara anu sami, tapi kecap konci di dieu ditulis sareng operator Const.

Di handap ieu tabel kalawan conto alus kumaha gawéna kalayan konstanta sarta variabel.

Pilihan Eksplisit

Publik sVAT_Rate Salaku Tunggal

Publik Const iMax_Count = 5000

Dina conto ieu, anjeun tiasa ningali kumaha kecap konci Public dianggo pikeun nyatakeun variabel, sareng naon anu anjeun kedah tulis dina editor Visual Basic pikeun nyatakeun konstanta umum. Ruang lingkup wadah nilai ieu manglaku ka sadaya modul.
Pilihan Eksplisit

Swasta sVAT_Rate Salaku Tunggal

Wasta Const iMax_Count = 5000

Di dieu, variabel sareng konstanta dinyatakeun nganggo kecap konci Pribadi. Ieu ngandung harti yén maranéhna ngan bisa ditempo dina modul ayeuna, sarta prosedur dina modul sejenna teu bisa maké éta.

Naha konstanta sarta variabel anu diperlukeun

Pamakéan konstanta sarta variabel ngidinan Anjeun pikeun ngaronjatkeun darajat understandability kode. Tur upami beginners sacara umum teu boga patarosan ngeunaan naha variabel anu diperlukeun, teras aya loba ambiguities ngeunaan kabutuhan konstan. Jeung patarosan ieu sigana, dina glance kahiji, rada logis. Barina ogé, anjeun tiasa nyatakeun variabel sakali sareng henteu kantos ngarobih deui.

Jawabanna tétéla janten tempat dina pesawat anu sami sareng ngeunaan panggunaan jinis data anu ngeusian rohangan anu ageung dina mémori. Lamun urang keur kaayaan sajumlah badag variabel, urang ngahaja bisa ngarobah wadahna aya. Lamun pamaké prescribes yén nilai tangtu moal robah, lingkungan bakal otomatis ngadalikeun ieu.

Ieu hususna penting nalika makro ditulis ku sababaraha programer. Hiji bisa nyaho yén sababaraha variabel teu kudu robah. Sareng anu sanésna henteu. Upami anjeun netepkeun operator Const, pamekar anu sanés bakal terang yén nilai ieu henteu robih.

Atawa, lamun aya konstanta kalawan hiji ngaran, sarta variabel boga béda, tapi ngaran sarupa. pamekar nu saukur tiasa galau aranjeunna. Contona, hiji variabel anu teu perlu dirobah disebut Variable11, sarta séjén anu bisa diédit disebut Variable1. Hiji jalma bisa otomatis, nalika nulis kode, ngahaja skip hiji Unit tambahan sarta teu aya bewara eta. Hasilna, wadahna pikeun nilai bakal dirobih, anu henteu kedah disentuh.

Atanapi pamekar nyalira tiasa hilap variabel mana anu tiasa dirampa sareng anu henteu tiasa. Ieu sering kajantenan nalika kodeu ditulis sababaraha minggu, sareng ukuranana janten ageung. Salila ieu, gampang pisan hilap sanajan naon hartosna variabel ieu atanapi éta.

Leres, anjeun tiasa ngalakukeun koméntar dina kaayaan ieu, tapi henteu langkung gampang pikeun netepkeun kecap Const?

conclusions

Variabel mangrupikeun komponén penting tina pamrograman makro, anu ngamungkinkeun anjeun ngalaksanakeun operasi anu kompleks, ti itungan pikeun nginpokeun ka pangguna ngeunaan kajadian-kajadian anu tangtu atanapi netepkeun nilai khusus dina sél spreadsheet.

Konstanta kedah dianggo upami pamekar terang pasti yén eusi wadah ieu moal robih di hareup. Disarankeun teu make variabel gantina, sabab kasebut nyaéta dimungkinkeun pikeun ngahaja nyieun kasalahan.

Leave a Reply