Steve Cummings - vba pentru ceainice - pagina 33

Într-o singură linie de cod, puteți declara mai multe variabile. Cuvântul cheie Dim este imprimat o singură dată, iar variabilele sunt separate prin virgule.







Dim intA ca intreg, INT ca intreg, intl ca intreg

Este permisă și amestecarea diferitelor tipuri de date:

Dimensiunea valutei ca monedă, datSecondTuesday As Date

Dim strX, strY, strZ ca șir

strX și strY sunt interpretate ca variabile de tip Variant, și nu ca variabile de șir.

Plasarea informațiilor în variabile

După ce variabila este declarată, primul pas în utilizarea ei este de obicei umplând-o cu informații (prima plasare a informațiilor într-o variabilă se numește inițierea unei variabile). Pentru a pune informații într-o variabilă, trebuie să alocați valoarea valorii acestei variabile. Odată ce este necesar, puteți înlocui datele stocate în variabilă, atribuindu-i o altă valoare.

Alocarea valorilor

Valorile sunt atribuite variabilelor utilizând un semn egal obișnuit. De exemplu, pentru a pune numărul 3 într-o variabilă denumită intC, introduceți intC = 3

În VBA, operatorul de atribuire este o construcție legată de semnul egal, cu variabila la stânga și expresia care determină valoarea variabilei, la dreapta. În exemplul de mai sus, expresia este pur și simplu un număr 3. Astfel de valori specificate explicit sunt numite valori literale. (Expresiile vor fi discutate mai jos în secțiunea Expression-to-I.)

Uită-te la următoarea instrucțiune de atribuire:

strQuot e = Nu întrebați ce am făcut pentru țară -

întreabă ce a făcut țara pentru mine.

În acest caz, operatorul atribuie textul în dreapta semnului egal al variabilei strQuot e. Ca și înainte, informația din expresia din această instrucțiune este o valoare literală - textul real care este plasat în variabila. Dar declarația este împărțită în două rânduri, astfel încât expresia de text este împărțită în două linii separate. Semnul (ampersand) instruiește VBA să se alăture acestor linii împreună.

Aici încerc doar să arăt că expresiile au adesea mai multe componente.

Dar indiferent de numărul de componente pe care se adaugă expresia, VBA calculează mai întâi valoarea rezultată și apoi atribuie această valoare variabilei.

Este clar că până la executarea efectivă a operatorului de cesiune, aprobarea sa nu este un fapt. În matematică, egalitatea 2 + 2 = 4 afirmă de fapt că valoarea din stânga semnului egal este egală cu valoarea din dreapta.

În VBA, operatorul de atribuire determină variabila să fie egală cu valoarea expresiei. În viitor, noul operator de atribuire poate modifica valoarea acestei variabile în orice moment.

Utilizarea variabilelor în operatorii de asignare

Puteți atribui variabile nu numai valorilor literale - în același mod puteți atribui valori determinate de alte variabile. În curSalePrice = curCost * sngMargin, curSalePrice este atribuită o valoare egală cu produsul curCost și sngMargin. În acest caz, expresia constă în variabile, nu în valori literale. VBA calculează rezultatul pe baza valorilor stocate în aceste variabile. (Apropo, în deplină conformitate cu convențiile de alegere a denumirilor, recomandate în Capitolul 6, curSalePrice și curCost sunt variabile de tip Currency).







Utilizarea funcțiilor în operatorii de asignare

Deoarece funcțiile și procedurile de tipul funcției pe care le creați valorile returnate, ele pot fi de asemenea utilizate în operatorii de atribuire. De exemplu:

ctrFavorite = InputBox (Cine este favoritul de azi?)

În acest caz, se folosește funcția VBA Input Box, care afișează o mică casetă de dialog cu mesajul specificat și un câmp pentru introducerea răspunsului de către utilizator. Acest răspuns este valoarea returnată de funcție, care este un șir de text (funcția Input Box este discutată în detaliu în Capitolul 11).

Exprimat-și-I

* variabile (de exemplu, bytMonth sau boolWinter);

* valori literale (de exemplu, 1234 sau Acesta este doar un exemplu);

* Constante (sunt destinate stocării valorilor literale și sunt considerate în secțiunea "Lucrul cu valori constante");

* Funcții VBA (de exemplu, Input Box () sau Sqr ());

* Proceduri de tip Funcție.

Dacă există cel puțin două astfel de elemente în expresie, ele trebuie să fie conectate fie prin semnele de funcționare (de exemplu, +), fie prin funcțiile și procedurile tipului de funcție imbricate în interiorul altor funcții și proceduri ale tipului de funcție.

Rețineți că dacă expresia constă din mai multe componente, fiecare dintre ele va fi de asemenea o expresie cu o valoare proprie.

Ce conține variabila înainte de a fi atribuită o valoare?

În timpul procedurii, VBA alocă spațiu de memorie pentru fiecare variabilă din această procedură și atribuie valoarea inițială variabilei; Aceasta înseamnă că nimic nu este stocat în variabilă. De cele mai multe ori, înainte de a utiliza o variabilă într-o expresie, îi alocați valoarea de care aveți nevoie, dar este perfect permisă și, uneori, benefică să utilizați variabila înainte de a vă asigura că conține valoarea pe care o specificați.

Să presupunem că programul are o procedură care trebuie efectuată numai în anumite condiții. Să presupunem, de asemenea, că în această procedură trebuie să fie atribuită valoarea uneia dintre variabilele programului. Într-o astfel de situație, dacă într-o altă procedură este necesar să se determine dacă a fost efectuată prima procedură, atunci aceasta se poate realiza prin aflarea dacă variabila este stocată în variabilă.

Iată valorile stocate în variabile înainte de a le atribui valorile.

Nimic (o valoare specială care indică faptul că variabilei nu i se atribuie nici o referință la obiect)

Lucrul cu valorile constante

Const cstrPetsName ca șir = "Fuzz"

Const cboolUp Ca Boolean = Adevărat

Rețineți că numele constantelor declarate de mine încep cu o literă mică "c" (adică o scurtă pentru constantă). Astfel, după nume, este imediat evident că aceasta este o constantă și nu o variabilă. Dacă nu vă place acest prefix, alegeți altul, mai potrivit pentru constantele dvs.

Puteți urma exemplul VBA și Visual Basic și puteți selecta un prefix corespunzător numelui dvs. sau un prefix corespunzător denumirii proiectului dvs. VBA. VBA și constante Visual Basic identificate folosind vb de prefix - de exemplu, vbBl UE (o constantă care reprezintă codul numeric pentru o culoare albastră, și anume 16711680) sau vbKeyTab (constantă care reprezintă codul numeric cheie , și anume 9). aplicații VBA adesea identificat prin prefix constant specific acestei aplicații, de exemplu xlBarStacked (constantă reprezentând codul numeric pentru diagrama cu bare în Excel, și anume 58).

Apropo, constantele definite de aplicația VBA sau VBA pot fi de asemenea utilizate în programele lor. Informații despre aceste constante rezervate pot fi obținute din sistemul de ajutor sau din fereastra browserului de obiecte (vezi Capitolul 5).







Articole similare

Trimiteți-le prietenilor: