Capisce e Variabili è Custanti in Macros Excel

In questu articulu, amparate ciò chì custanti è variàbili sò in macros, induve ponu esse utilizati, è quale hè a principal diferenza trà e diverse tipi di dati. Serà ancu revelatu perchè e custanti sò necessarii, se pudete scrive solu una variabile è ùn cambia mai.

Cum'è l'altri linguaggi di prugrammazione, i dati ponu esse guardati in variàbili o custanti (i dui sò ancu spessu chjamati cuntenituri di dati). Questa hè a principal diferenza trà sti cuncetti. U primu pò cambià sicondu ciò chì succede in u prugramma. In turnu, custanti sò stabiliti una volta è ùn cambianu micca u so valore.

Custanti ponu esse utili si avete bisognu di utilizà u stessu grande valore parechje volte. Invece di cupià u numeru, pudete simpricimenti scrive u nome di a constante. Per esempiu, pudete aduprà a constante "Pi" per almacenà Pi, chì hè un valore constante. Hè assai grande, è ogni volta hè abbastanza difficiuli di scrive o di circà è copià. È cusì, hè abbastanza per scrive dui caratteri, è l'ambienti usa automaticamente u numeru desideratu.

L'utilizatori di Excel deve dichjarà variàbili s'ellu hà bisognu di cambià u valore guardatu in elli da u tempu à u tempu. Per esempiu, pudete stabilisce una variabile chjamata sVAT_Rate, chì guardà a tarifa di VAT attuale per u pruduttu. S'ellu cambia, pudete curregà rapidamente. Questu hè soprattuttu utile per quelli chì facenu affari in i Stati Uniti, induve certi beni ùn ponu micca esse sottumessi à l'IVA (è questu impositu difiere ancu di statu à statu).

Tipi di dati

Ogni cuntinuu di dati pò esse unu di parechji tipi. Eccu un tavulu chì descrive i tipi standard di l'infurmazioni trattati. Ci sò assai di elli, è pò parenu à un principiante inizialmente chì si ripetenu. Ma questu hè un sentimentu illusoriu. Leghjite per sapè perchè specificà u tipu di dati currettu hè cusì impurtante.

Ùn hè cunsigliatu per utilizà un tipu di dati chì occupa più spaziu in memoria per i picculi numeri. Per esempiu, per u numeru 1, hè abbastanza à aduprà u tipu Byte. Questu averebbe un effettu pusitivu nantu à u rendiment di u modulu eseguibile, in particulare in l'urdinatori debuli. Ma hè impurtante ùn andà troppu luntanu quì. Sè vo aduprate un tipu di dati chì hè troppu compactu, un valore oversized ùn pò micca fitte in questu.

Dichjarà custanti è Variabili

Aduprà un containeru di dati senza prima dichjarà hè fortemente scuraghjatu. Allora una quantità di prublemi ponu esse, per evitari chì hè necessariu di scrive uni pochi di picculi linee di codice cù enumerazione di variàbili o custanti.

Per dichjarà una variabile, a dichjarazione Dim hè aduprata. Per esempiu, cusì:

Dim Variable_Name As Integer

Variable_Name hè u nome di a variabile. Dopu, l'operatore As hè scrittu, indicà u tipu di dati. Invece di e corde "Variable_Name" è "Integer", pudete inserisce u vostru nome è u tipu di dati.

Custanti ponu ancu esse dichjarati, ma prima deve esse specificà u so valore. Una di l'opzioni hè:

Const iMaxCount = 5000

In ghjustizia, in certi casi pudete fà senza dichjarà una variabile, ma in questu casu seranu automaticamente assignati u tipu Variante. Tuttavia, questu ùn hè micca cunsigliatu per i seguenti motivi:

  1. Variant hè trattatu assai più lentu, è s'ellu ci sò parechje tali variàbili, u prucessu di l'infurmazione pò esse rallentatu significativamente in l'urdinatori debuli. Sembra chì quelli sicondi decideranu ? Ma s'è vo avete à scrive un gran numaru di linii di codice, è poi curriri lu in lu computer debbuli (chì sò sempre vindutu, datu chì i suite di l'uffiziu mudernu necessanu assai RAM), pudete piantà cumplettamente u travagliu. Ci sò casi quandu l'scrittura mal cuncepita di macros hà purtatu à a congelazione di i libri intelligenti chì anu una piccula quantità di RAM è ùn sò micca pensati per eseguisce compiti cumplessi. 
  2. I misprints in i nomi sò permessi, chì ponu esse impediti cù l'opzione Option Explicit statement, chì vi permette di truvà una variabile micca dichjarata, se si trova unu. Questu hè un modu faciule per detectà l'errori, postu chì u minimu typo face chì l'interprete ùn pò micca identificà a variàbile. È se attivate u modu di dichjarazione variabile, l'interprete ùn vi permettenu micca solu di eseguisce a macro se si trovanu cuntenituri di dati chì ùn sò micca dichjarati à u principiu di u modulu.
  3. Evite errori causati da valori variabili chì ùn currispondenu micca à u tipu di dati. Normalmente, l'assignazione di un valore di testu à una variabile integera darà un errore. Iè, da una banda, un tipu genericu hè assignatu senza una dichjarazione, ma si sò dichjarati in anticipu, allora l'errore aleatoriu pò esse evitata.

Dunque, malgradu tuttu, hè assai cunsigliatu di dichjarà tutte e variàbili in macros Excel.

Ci hè una cosa più da tene in mente quandu dichjarà variabili. Hè pussibule ùn assignà alcun valore à una variabile quandu a dichjarà, ma in questu casu acquista un valore predeterminatu. Per esempiu:

  1. I linii sò fatti viotu.
  2. I numeri piglianu u valore 0.
  3. Variabili di tipu Boolean sò inizialmente cunsiderate falsi.
  4. A data predeterminata hè u 30 di dicembre di u 1899.

Per esempiu, ùn avete micca bisognu di assignà u valore 0 à una variàbbili integer si ùn hè micca statu specificatu prima. Ella cuntene digià stu numeru.

Opzione Dichjarazione esplicita

Questa dichjarazione permette di dichjarà tutte e variàbili chì sò aduprate in u codice VBA è determinà a presenza di qualsiasi cuntainer micca dichjaratu prima chì u codice hè esecutatu. Per utilizà sta funzione, basta à scrive una linea di codice Opzione Esplicito à a cima di u codice macro.

Sè avete bisognu di include sta dichjarazione in u vostru còdice ogni volta, pudete fà cusì cù un paràmetru speciale in l'editore VBA. Per attivà sta opzione, duvete:

  1. Andà à l'ambienti di sviluppu longu u percorsu - Strumenti> Opzioni.
  2. In a finestra chì si apre dopu, apre a tabulazione Editor.
  3. È infine, verificate a casella accantu à l'elementu Require Variable Declaration.

Dopu à a fine di sti passi, cliccate nant'à u buttone "OK". 

Hè questu, avà quandu scrivite ogni nova macro, sta linea serà inserita in a cima di u codice automaticamente.

Scopu di Custanti è Variabili

Ogni variabile o constante hà solu un scopu limitatu. Dipende induve a dichjarà.

Suppone chì avemu una funzione Cost_Totale(), è usa a variabile sVAT_Rate. Sicondu a pusizione in u modulu, avarà un scopu sfarente:

Opzione esplicita

Dim sVAT_Rate As Single

Funzione Total_Cost () As Double

.

.

.

End Lingua

Se una variable hè dichjarata in cima di un modulu stessu, si propaga in tuttu u modulu. Questu hè, pò esse lettu da ogni prucedura.

Inoltre, se una di e prucedure hà cambiatu u valore di a variabile, allora u prossimu hà ancu leghje stu valore currettu. Ma in altri moduli sta variàbile ùn serà ancu lettu.

Opzione esplicita

Funzione Total_Cost () As Double

Dim sVAT_Rate As Single

   .

   .

   .

End Lingua

In questu casu, a variàbile hè dichjarata in a prucedura, è l'interprete ghjittarà un errore s'ellu hè utilizatu in un altru prucessu.

Se vulete chì a variabile sia leghje da altri moduli, duvete aduprà a chjave Public invece di a chjave Dim. In u listessu modu, pudete limità l'alcunu di una variàbbili solu à u modulu attuale usendu a dichjarazione publica, chì hè scritta invece di a parolla Dim.

Pudete stabilisce l'alcunu di custanti in una manera simili, ma a keyword quì hè scritta inseme cù l'operatore Const.

Eccu una tavula cù un bon esempiu di cumu si travaglia cù custanti è variàbili.

Opzione esplicita

Public sVAT_Rate As Single

Public Const iMax_Count = 5000

In questu esempiu, pudete vede cumu a chjave Public hè utilizata per dichjarà una variabile, è ciò chì avete bisognu di scrive in l'editore Visual Basic per dichjarà una constante publica. U scopu di sti cuntenituri di valore s'applica à tutti i moduli.
Opzione esplicita

Private sVAT_Rate As Single

Private Const iMax_Count = 5000

Quì, i variàbili è i custanti sò dichjarati cù a chjave privata. Questu significa chì ponu esse vistu solu in u modulu attuale, è e prucedure in altri moduli ùn ponu micca aduprà.

Perchè custanti è variàbili sò necessarii

L'usu di custanti è variàbili permette di aumentà u gradu di comprensibilità di u codice. E se i principianti in generale ùn anu micca dumande nantu à perchè e variàbili sò necessarii, allora ci sò parechje ambiguità in quantu à a necessità di custanti. E sta quistione pare, à prima vista, abbastanza logica. Dopu tuttu, pudete dichjarà una variabile una volta è ùn cambia mai più.

A risposta si trova in un locu in u stessu pianu in quantu à l'usu di tipi di dati chì occupanu un grande spaziu in memoria. Sè avemu trattatu cù un gran numaru di variàbili, pudemu cambià accidentalmente un containeru esistenti. Se l'utilizatore prescrive chì un certu valore ùn cambia mai, allora l'ambienti cuntrullà automaticamente questu.

Questu hè particularmente impurtante quandu a macro hè scritta da parechji programatori. Un pò sapè chì qualchì variabile ùn deve micca cambià. È l'altru ùn hè micca. Sè vo specificà u operatore Const, un altru sviluppatore hà da sapè chì stu valore ùn cambia.

Or, s'ellu ci hè una constante cun un nome, è a variàbbili hà un nome diversu, ma simili. U sviluppatore pò solu cunfundirli. Per esempiu, una variabile chì ùn deve esse cambiata hè chjamata Variable11, è un altru chì pò esse editatu hè chjamatu Variable1. Una persona pò automaticamente, quandu scrivite codice, saltà accidentalmente una unità extra è ùn avè micca avvistu. In u risultatu, u cuntinuu per i valori serà cambiatu, chì ùn deve micca toccu.

O u sviluppatore stessu pò scurdà di quali variabili pò toccu è quale ùn pò micca. Questu spessu succede quandu u codice hè scrittu per parechje settimane, è a so dimensione diventa grande. Duranti stu tempu, hè assai faciule di scurdà ancu ciò chì questu o quella variabile significa.

Iè, pudete fà cù cumenti in questa situazione, ma ùn hè micca più faciule per specificà a parolla Const ?

cuegghiè

I variàbili sò un cumpunente essenziale di a prugrammazione macro, chì permettenu di fà operazioni cumplessi, da calculi à informà l'utilizatori nantu à certi avvenimenti o specifichi valori specifichi in e cellule di un spreadsheet.

Custanti deve esse usatu se u sviluppatore sapi sicuru chì u cuntenutu di sti cuntenituri ùn cambia micca in u futuru. Hè ricumandemu micca di utilizà variabili invece, postu chì hè pussibule di sbaglià accidentalmente.

Lascia un Audiolibro