Variabile și tipuri de date vba

3.3 Variabile, constante și tipuri de date

Variabilele sunt containere pentru stocarea datelor variabile. Aproape nici un program nu poate face fără ele. Pentru simplitate, variabila poate fi comparată cu o cameră din dulap - dați câteva date "dulapului", ca răspuns primiți un număr. Când aveați din nou nevoie de aceste date, "arătați numărul" și obțineți-l. Un exemplu de lucru cu variabile în VBA ar putea arăta astfel:







Dim nMyAge ca intreg

nMyAge = nMyAge + 10

Dim nMyAge ca intreg

Cum să descifrăm această linie:

Dim este domeniul de aplicare al variabilei. VBA oferă 4 cuvinte cheie pentru a determina sfera variabilelor:

Nva Statică ca Integer

nVar1 = nVar1 + 1

Dacă nu există cerințe speciale, atunci este logic să alegeți întotdeauna domeniul de aplicare al Dim.

La crearea programelor VBA, este recomandat să definiți regulile prin care vor fi atribuite numele de obiect - convenția de denumire. Cel mai frecvent utilizat este așa-numitul acord maghiar (în onoarea unui programator Microsoft, Charles Simonyi, maghiar pe naționalitate):

  • în versiunile anterioare ale VB nu a avut nici un cuvânt Const - toate constantele sunt definite ca variabile, și să facă distincție le-am înregistrat cu majuscule, a pus o subliniere între cuvinte:

Mulți programatori folosesc această abordare pentru a denota constantele acum (dar cuvântul cheie Const este acum obligatoriu - acest lucru va fi acoperit în secțiunea următoare).

VBA furnizează următoarele tipuri de date:

  • numeric (byte - un număr întreg de la 0 la 255, întreg - întreg -32768-32767, lung - întreg mare, valută (număr zecimal mare cu 19 posturi, inclusiv 4 zecimale), decimal (chiar număr mai zecimal 29 de posturi), simple sau duble - o valoare în virgulă mobilă (dublă de două ori));

Atenție vă rog! Încercarea de a declara o variabilă cu tipul zecimal (de exemplu, n Dim Ca zecimal) va avea ca rezultat o eroare de sintaxă. Pentru a obține posibilitatea de a lucra cu un tip de zecimal, trebuie să declare inițial o variabilă ca o variantă sau nu declară tipul (Dim n), deoarece tipul de date Varianta utilizată în VBA în mod implicit.

  • string (șir de lungime variabilă (până la aproximativ 2 miliarde de caractere) și lungime fixă ​​(până la aproximativ 65.400 de caractere);
  • data și ora (data - de la 01.01.100 la 31.12.9999);
  • logic (boolean - poate stoca numai valorile True și False);
  • Obiect (obiect - stochează o referință la orice obiect din memorie);
  • Varianta este un tip de date special care poate stoca orice alte tipuri de date.






De asemenea, puteți utiliza tipuri personalizate de date, dar mai întâi trebuie să le definiți utilizând expresia Tip. De obicei, tipurile personalizate de date sunt utilizate ca mijloace suplimentare de verificare a valorilor de intrare ale utilizatorilor (un exemplu clasic este un cod poștal).

Unele puncte legate de alegerea tipurilor de date pentru variabile:

nVar1% = nVar1% + 1

Această abordare este depășită și nu este recomandată pentru utilizare.

În acest caz, variabila va fi declarată automat cu tipul Variant.

nVar1 = nVar1 + 1

  • numărul de erori este redus: programul de la bun început va refuza să accepte o variabilă de tip greșit (de exemplu, șir în loc de numeric);
  • când lucrăm cu obiecte, un indiciu asupra proprietăților și metodelor funcționează numai atunci când am declarat inițial o variabilă de obiect cu tipul dorit. De exemplu, în Excel, două versiuni ale codului funcționează la fel:

Dim oWbk Ca registru de lucru

Setați oWbk = Workbooks.Add ()

Setați oWbk = Workbooks.Add ()

Dar un indiciu asupra proprietăților și metodelor obiectului oWbk va funcționa numai în cel de-al doilea caz.

Pentru a ilustra de ce fac acest lucru, puteți face un exemplu simplu:

O regulă bună este declararea variabilelor în avans, și nu atunci când sunt necesare. Acest lucru face programul mai ușor de citit și bine planificat.

Puteți declara mai multe variabile într-o singură linie, de exemplu, după cum urmează:

Dim n1 ca intreg, s1 ca șir

Atribuirea valorilor variabilelor arată astfel:

Dacă doriți să măriți valoarea deja existentă a unei variabile, comanda poate arăta astfel:

nVar1 = nVar1 + 1

În ambele exemple, semnul egal înseamnă nu este egal, ci este atribuit.

Când asociați valori variabilelor, rețineți următoarele:

  • valorile șirului sunt întotdeauna închise în ghilimele duble:
  • valoarea de dată / oră este cuprinsă în simbolurile "grătare" - lire:

Rețineți că atunci când atribuim o valoare dată / oră în acest "mod explicit", va trebui să folosim standardele adoptate în SUA: 05 în acest caz este luna, 06 este ziua. Afișarea acestei valori (de exemplu, în fereastra de mesaje) va depinde de setările regionale de pe computerul utilizatorului.

Dacă doriți să treceți o valoare hexazecimală, atunci este precedată de caractere H:

Ce conține variabilele înainte de a le atribui valorilor?

  • În variabilele tuturor tipurilor de date numerice - 0.
  • În variabilele de șir de lungime variabilă - "" (un șir de lungime zero).
  • În variabilele de șir cu o lungime fixă, un șir de o anumită lungime cu caractere ASCII 0 (aceste caractere nu sunt afișate pe ecran).
  • În varianta, o valoare goală.
  • În Object - nimic (nu există nici o referință la niciunul dintre obiecte).

Constantele sunt un alt container pentru stocarea datelor, dar, spre deosebire de variabile, acestea nu se modifică în timpul executării programului VBA. Pentru ce constante sunt necesare:

  • codul devine mai ușor de citit / erorile potențiale sunt eliminate;
  • pentru a schimba orice valoare folosită de mai multe ori în program (de exemplu, nivelul de impozitare) - aceasta se poate face o singură dată.

În VBA, constantele sunt definite folosind cuvântul cheie Const:

Const COMP_NAME Ca String = "Microsoft"

Dacă încercați să modificați valoarea constantă în corpul procedurii, va fi afișat un mesaj de eroare.

Constantele sunt foarte convenabile atunci când lucrează cu grupuri de elemente numite (zile ale săptămânii, lunilor, culorilor, cheilor, tipurilor de ferestre etc.). Acestea vă permit să utilizați în codul programului ușor de citit denumiri în loc de coduri numerice greu memorate. De exemplu, linii

sunt funcționale la fel, dar semnificația primei linii este mult mai ușor de ghicit.

MsgBox ("Prima linie" + vbCrLf + "A doua linie")

O mulțime de seturi de constante sunt construite în modele obiect, pe care le vom lua în considerare în ultimele secțiuni.







Articole similare

Trimiteți-le prietenilor: