Sunteți pe pagina 1din 25

MS Excel

Programarea în VBA
Introducere în Programarea VBA

 Visual Basic for Applications (VBA) –


este un limbaj de programare care ajută
la realizarea de programe care măresc
productivitatea şi eficienţa în Excel
 Este un program încorporat în Excel
 OOP – limbaj de programare orientat pe
obiecte
Ce putem face cu ajutorul VBA
 Inserarea unui şir text
 Automatizarea unei sarcini pe care o realizăm frecvent
 Automatizarea unor operaţiuni repetitive (bucle)
 Crearea unei comenzi definită de către utilizator
 Crearea unui buton definit de către utilizator în bara de
instrumente
 Dezvoltarea unor funcţii noi in cadrul foilor de calcul
 Crearea unor aplicaţii complete de tip macro-driven
 Crearea de funcţii predefinite de tipul add-ins pentru
Excel
Avantajele şi dezavantajele VBA
Avantaje Dezavantaje
Execută sarcini în exact acelaşi Apare necesitatea de a învăţa cum
mod se scrie un program VBA, sintaxa
limbajului, obiectele, proprietăţile
Mult mai rapid decât s-ar executa Alte persoane care doresc să
manual utilizeze programele
dumneavoastră trebuie să
folosească Excel
Întodeauna execută sarcini fără a Uneori lucrurile nu sunt aşa de
genera erori (dacă acestea sunt uşoare
bine definite)
Sarcinile pot fi executate de către
persoane care nu cunosc Excel
Se pot realiza sarcini care în
Excel sunt altfel (fără VBA)
imposibil de realizat
VBA pe scurt (1)
 Se realizează acţiuni în VBA scriind (ori
înregistrând) cod în module VBA
 Un modul VBA reprezintă subproceduri (macro
sau/şi UDFs – funcţii definite de către
utilizatori)
 VBA manipulează obiecte
 Obiectele sunt organizate ierarhic
 Obiectele de acelaşi tip formează o ierarhie
 Ne referim la un obiect specificând poziţia
acestuia în cadrul ierarhiei, utilizând punctul ca
separator
VBA pe scurt (2)

 Dacă se omit referinţele specifice, Excel va


utiliza obiectul activ
 Obiectele au proprietăţi şi metode
 Ne referim la proprietatea unui obiect
combinând numele obiectului cu numele
proprietăţii, separate printr-un punct
 Variabilelor se pot atribui valori
 VBA include toate construcţiile limbajelor de
programare moderne, inclusiv şiruri şi bucle
Editorul Visual Basic (VBE)

 Este conectat
dar separat de
aplicaţie
 Este folosit
pentru a scrie,
edita şi testa
codul
 Alt + F11
Utilizarea Project Explorer-ului

 Fiecare fişier
Excel şi add-in
care este
deschis este un
proiect
 Ctrl + R
Personalizarea mediului VBA

•Se utilizează meniul “Options” în tab-ul Editor pentru a controla cum


funcţionează diverse opţiuni în editorul VBE
Modelul Obiect Excel
Obiecte ale Aplicaţiei Excel

 Obiecte addin
 Obiecte CommandBar
 Obiecte Window
 Obiecte Workbook
 Obiecte WorksheetFunction
Obiecte Worksheet

 Obiecte Comment
 Obiecte Hyperlink
 Obiecte Name
 Obiecte Outline
 Obiecte PageSetup
 Obiecte PivotTable
 Obiecte Range
Colecţii de Obiecte

 O colecţie este un grup de obiecte de


acelaşi tip … Şi … o colecţie este ea
însăşi un obiect !
 Câteva exemple de colecţii utilizate în
mod frecvent:
 Colecţia Workbooks
 Colecţia Worksheets
 Colecţia Charts
 Colecţia Sheets
Referirea unui Obiect (membru al
colecţiilor)

 Worksheets(“Sheet1”) – prin nume


 Worksheets(1) – prin numărul de
ordine
Navigarea prin ierarhie

Referire pe deplin definită:


Application.Workbooks(“Book1.xl
s”). _
Worksheets(1).Range(“A1”).Value

Referire presupusă:
Range(“A1”).Value
Proprietăţi şi Metode ale Obiectelor

 Pentru a manipula obiecte trebuie:

 citite sau modificate proprietăţi ale unui


obiect
 specificată o metodă a acţiunii care
urmează a fi folosită asupra unui obiect
Proprietăţi ale obiectelor

 Fiecare obiect are proprietăţi


 Proprietăţile sunt atribute care descriu
obiectul, determină cum arată acesta, cum se
comportă şi dacă este sau nu vizibil.
 Utilizând VBA, se pot realiza două lucruri cu
proprietăţile unui obiect:
 Examinarea setărilor curente pentru o proprietate
 Schimbarea setării proprietăţii
Metode ale Obiectelor

 O metodă este o acţiune pe care o


realizăm cu un obiect
 Cele mai multe metode au unul sau mai
multe argumente. Un argument este o
valoare care precizează în plus acţiunea
care trebuie realizată.
 Argumentele pentru o metodă se
plasează după metoda. Argumentele
multiple sunt separate prin virgulă.
Evenimente ale Obiectelor

 Obiectele răspund la o varietate de


evenimente care apar
 De exemplu când lucrăm în Excel şi
activăm un fişier diferit intervine un
eveniment “Activate”.
Subproceduri versus Funcţii

 O subprocedură este un grup de


declaraţii VBA care realizează o acţiune
(sau acţiuni) în Excel.

 O procedură funcţie este un grup de


declaraţii VBA care realizează calcule şi
au ca rezultat o singură valoare.
Denumirea Subprocedurilor şi a
Funcţiilor
 Se pot utiliza litere, numere şi unele semne de
punctuaţie, dar primul caracter trebuie să fie o
literă.
 Se pot utiliza spaţii în cadrul numelor.
 VBA nu distinge între litere mari şi litere mici.
 Se pot încorpora oricare dintre următoarele
caractere în nume : #, $, %, &, @, ^, *, or !.
 Numerele nu pot fi mai mari de 255 caractere
Rularea Subprocedurilor
 Cu ajutorul meniului Run➪Run Sub
 Din Macro dialog boxului Excel
 Utilizând Ctrl+tastă shortcut
 Click pe un buton
 Dintr-o altă Subprocedură
 Dintr-un buton Toolbar
 Dintr-un meniu personalizat
 Când apar evenimente
 Din Immediate window
Rularea Funcţiilor Proceduri

 Prin apelarea unei funcţii dintr-o altă Sub


procedură ori funcţie procedură

 Prin apelarea unei funcţii într-o formulă din


cadrul foilor de calcul
Exemplu de funcţie definită de
utilizator
Va mulţumesc!

S-ar putea să vă placă și