Sunteți pe pagina 1din 4

Laborator 4 – scriptarea în programul Office Excel, folosind limbajul VBA -

Introducere

1. Deschiderea ferestrei VBA din programul Microsoft Office Excel:


Se accesează butonul Macros din cadrul meniului Developer. Apare fereastra Macros, unde se
stabilește un nume nou pentru macro, după care se apasă butonul Create. Dacă se dorește accesarea
unui macro deja
existent, se
selectează macro-ul
din lista din stânga
ferestrei și se apasă
Edit (NU RUN).
În cadrul ferestrei
Microsoft Visual
Basic for
Applications se pot
crea și respectiv rula
(scripturi, sau
programe, în limbaj
VBA).

2. Comenzi pentru selectarea celulelor din sheet-urile Excel

2.1. Selectarea unei celule singulare


 Nume_sheet.Cells(index_rând, index_coloană). Select - Selectează în sheet-ul
Nume_Sheet celula de pe rândul index_rând și coloana index_coloană.
Exemplu: Sheet2.Cells(2,4).Select – selectează celula D2 (rândul 2, coloana4) din sheet denumit
Sheet2.

 Activesheet.Cells((index_rând, index_coloană). Select – Selectează celula dorită din


sheet-ul activ, indiferent de numele acestuia.
2.2. Selectarea unui domeniu de celule
 Nume_sheet.Range(Cells(index_rând, index_coloană),
Cells(index_rând,index_coloană)).Select – Selectează intervalul delimitat de
celulele oferite ca argument funcției Range
Exemplu: Sheet2.Range(Cells(2,3), Cells(3,5)).Select – selectează intervalul de celule C2 (rând 2,
coloana 3):E3(rând 3, coloana 5).

 ActiveSheet. Range(Cells(index_rând, index_coloană),


Cells(index_rând,index_coloană)).Select – selecția se face pe sheet-ul activ,
indiferent de numele acestuia

Notă: fiecare selecție nouă din Macro o înlocuiește pe cea anterioară.

2.3. Selectarea unei celule relativ la celula activă (cea mai recent selectată)
 ActiveCell.Offset(index_rând, index_coloană).Select – selectează celula aflată la
index_rând rânduri și index_coloană coloane față de celula activă (ActiveCell).

Indexul poate fi pozitiv sau negativ, semnul indicând direcția de offsetare (minus pentru
rând – SUS, minus pentru coloană – STÂNGA).
Exemplu: ActiveCell.Offset(2, -3).Select – selectează celula aflată la 2 rânduri în jos și 3 coloane spre
stânga față de celula anterior selectată (activă).

3. Comenzi pentru modificarea/preluarea valorilor din celule

3.1. Modificarea valorii celulei selectate


 ActiveCell.Value = x – Celulei active (anterior selectate) i se atribuie valoarea x.

Se pot atribui

 valori numerice: ActiveCell.Value = 100


 valori de tip text (dar textul trebuie închis între ghilimele): ActiveCell.Value =
“Data”
 valoarea unei variabile definite anterior în macro:

x = 100
ActiveCell.Value = x
 rezultatul unui calcul: ActiveCell.Value = 20/4
ActiveCell.Value = x + 14
ActiveCell.Value = a + (b/2)
 valoarea unei alte celule: ActiveCell.Value = Sheet1.Cells(2,1).Value
 combinații între tipuri de variabile/constante:
ActiveCell.Value = Sheet1.Cells(2,2).Value + (x/30) + 25 * Sheet3.Cells(10,2).Value

3.2. Modificarea valorii unui domeniu selectat


După selectarea domeniului dorit (vezi secțiunea 2.2), se apelează comanda Selection =
x , care va rezulta în atribuirea valorii x în fiecare celulă a domeniului selectat.

3.3. Modificarea valorii unei celule/domeniu fără a o/îl selecta


 Nume_sheet.Cells(index_rând, index_coloană).Value = x – celulei de pe rândul
index_rând și coloana index_coloană i se atribuie valoarea x.
 Nume_sheet.Range(Cells(index_rând, index_coloană), Cells(index_rând,
index_coloană)).Value = x – domeniului definit de cele 2 celule i se atribuie
valoarea x, în fiecare celulă.
Exemplu: Sheet1.Cells(2,2).Value = 15

Sheet1.Range(Cells(1,3), Cells(4,6)).Value = 20

3.4. Preluarea valorii unei celule într-o variabilă


 Valoarea celulei curente: x = ActiveCell.Value
 Valoarea altei celule decât cea curentă: x = Sheet1.Cells(2,3).Value

EXERCITII
Creați macro-uri care să realizeze următoarele sarcini. Fiecare exercițiu într-un
sub(script) separat.

1. Selectarea celulei D3. Introducerea valorii “Medie aritmetica” în celula selectată..


Introducerea valorii 20.14 în celula E3, fără a o selecta anterior.
2. Selectarea celulei A4. Crearea unei variabile x, de valoare 7. Crearea unei variabile
y, de valoare x/2. Introducerea valorii y în celula selectată.
3. Dacă nu există deja, creați manual un worksheet denumit Sheet2. Selectați celula
A1 din Sheet2. Introduceți valoarea 72 în celula selectată. Creați o variabilă beta
care preia valoarea celulei A1. În celula aflată la 3 rânduri mai jos și 2 coloane la
dreapta celulei A1 (lucrați cu offset), introduceți valoarea beta+15.
4. În același Sheet2, selectați domeniul A7:E15. Introduceți valoarea 24 în celulele
domeniului.
5. În același Sheet2, creați o variabilă a, de valoare 7 și o variabilă b, de valoare 2.5.
Selectați celula B20, în care introduceți rezultatul calculului:

a / b + (C8*a)/(A1/b), unde C8 și A1 sunt valorile din celulele respective.

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