Documente Academic
Documente Profesional
Documente Cultură
Indicele nu(eric este alocat in colectie in ordinea in care )isierele au )ost create
21
Names Returneaza colectia de nume defnite in
registrul de calcul
Run Executa o comanda macro
Private Sub Workbook_Open()
Urmatoarea procedura are ca efect afsarea lunii curente intr-o caseta
de tip MsgBox in momentul deschiderii fsierului
MsgBox Suntem in ziua luna& Month (Now())
End Sub
5.5.3. Colectia WorkSheets
Un fsier Excel poate contine mai multe foi de
calcul. Un obiect Worksheet reprezinta o anumita
foaie de calcul din cadrul colectiei WorkSheets
4
cuprinde toate foile registrului. Cateva dintre
proprietatile disponibile sunt prezentate in tabelul 4
(Tabel 4 Proprietatile colectiei WorkSheets).
Obiectul dispune de cateva metode des utilizate
precum cele exemplifcate mai jos :
Sub Exemplu()
listarea la imprimanta a foii de calcul
Application.Worksheets (Balanta de verifcare).PrintOut
stergerea unei foi de calcul
Application.Worksheets(Balanta provizorie).Delete
End Sub
!
Alaturi de colectia *or+,heets e-ista si colectia ,heets' .i)erenta consta in )aptul ca
pri(a este incorporata in cea de-a doua care (ai contine si gra)icele /colectia Charts0
22
Tabel 4 Proprietatile colectiei WorkSheets
Proprietate Descriere
Cells Face referire la toate celulele foii de calcul
Columns Face referire la colectia coloanelor foii de
calcul
Range Returneaza un obiect de tip Range (un camp
de celule al foii de calcul)
Rows Face referire la colectia liniilor din foaia de
calcul
Visible Stabileste vizibilitatea sau ascunderea foii de
calcul respective
5.5.4. Obiectul Range
Refera o celula sau o plaja de celule. Pozitia
acestui obiect n ierarhia de obiecte Excel :
Modul de utilizare al obiectului este
Range ( Adresa / Plaja adrese) . Daca nu se indica o
anumita foaie de calcul se considera foaia de calcul
curenta. Exemplu : Range(1)refera celual A1,
Range(A2 :B2) refera plaja de celule A2 :B2,
Worksheets (Sheet2).Range(A28) refera celula A28
de pe foaia de calculSheet2 etc.
Tabel 5 Proprietatile obiectului Range
Proprietate Descriere
Adress
Returneaza adresa celulei sau a plajei de celule
referite de un obiect Range
Column
Numarul primei coloane din adresa /plaja de
adrese referite de un obiect Range
Row
Numarul de celule din adresa/plaja de adrese
referite de un obiect Range
2
Formula
Stabileste formula continuta de o celula/plaja
de celule de un obiect Range
MegeCells
Uneste mai multe celule (True) intr-una singura
sau anuleaza unirea acestora (False)
Value
Stabileste valoarea continuta de celula sau
plaja de celule referita de un obiect Range
WrapText
Continutul unei celule/plaje de celule va f scris
pe mai multe randuri
Tabel 6 Metodele obiectului Range
Metoda Descriere
Union
Uneste mai multe zone referite de mai multe
obiecte Range intr-unul singur
Clear
Goleste continutul celulelor referite de un obiect
Range
Copy
Copiaza in ClipBoard continutul celulelor referite
de un obiect Range
Delete
Sterge celulele referite de un obiect Range
Select
Selecteaza celulele referite de un obiect Range
UnMerge
Anuleaza unirea mai multor celule intr-una
singura
Exemplu de utilizare a obiectului Range :
Sub Exemplu_Range()
Dim Zona As Range, Z1 As Range, Z2 As Range, Z3 As Range
Set Zona = Range(A1 :B10)
Afsare adresa plajei de celule
MsgBox Adresa: & Zona.Address
Prima coloana din plaja de celule
MsgBox Prima coloana: & Zona.Column
Afsare numar celule
MsgBox Numar celule: & Zona.Count
Unire celule intr-una singura
Range(A20:A40).MergeCells =True
Scriere pe mai multe randuri
Range(C20:D40).WrapText =True
2!
Stabilirea unei valori
Range (D10 :E20).Value = 10000
Introducerea unei formule
Range (F10:G20).Formula = = d10+d11
Anularea unirii zonei a20:a40
Range (A20:a40).UnMerge
Set Z1 =Range (A1:B40)
Set Z2 =Range (A100:B400)
Unire zona Z1 cu Z2 in Z3
Set Z3 = Union (Z1,Z2)
Afsare adresa Z3
MsgBox Z3.Address
End Sub
5.6. Evenimente
Evenimentul Click
Se produce in momentul in care se actioneaza o
singura data butonul mouse-ului intr-un obiect sau
dupa selectarea unei valori din mai multe posibile
acolo unde este cazul (exemplu selectarea unei valori
dintr-o lista derulanta de valori-ComboBox-va genera
producerea evenimentului Click).
Pentru controlul CodFurnizor a fost atasata
evenimentului Click procedura de mai jos :
Private Sub CodFurnizor_Click()
Dim T
T = Me.CodFurnizor.Column()
Me.DenumireFurnizor.Value = Me.CodFurnizor.Column(1)
Me.Adresa.Value = Me.CodFurnizor.Column(2)
Cells(ActiveCell.Row, 2).Value = Me.CodFurnizor.Column(1)
ActiveCell.Value = T
End Sub
2"
5.7. Exemplu de aplicatie VBA.
5
Sa se construiasca un formular pentru calculul
si afsarea rezultatelor costului pentru plata chiriilor
in lei grei pentru apartamente cu doua si trei camere.
Programul preia date cu InputBox si afseaza
informatii prelucrate cu casete text ; se folosesc dea
semenea butoanele de optiune utilizand proprietatea
Enabled.
"
Probleme si teste rezolvate se gasesc in Birotica aplicata-autor Gramada Argentina
Editura Renaissance , 2!
2#
Preluarea datelor (a chiriei percepute pe luna si a
numarului de luni) se face prin casete InputBox.
Dimensionarea variabilelor
Dim LUNI As Long
Dim SUMA As Long
Dim VENIT As Long
Private Sub OpT_2CAM_Click()
2$
OPT_3CAM.Enabled = False
TEXT2.Text = 0
TEXT4.Text = 0
TEXT6.Text = 0
SUMA = InputBox("CHIRIE PERCEPUTA PE LUNA")
TEXT1.Text = SUMA
LUNI = InputBox("PERIOADA DE INCHIRIERE ( NR. LUNI )")
TEXT3.Text = LUNI
VENIT = TEXT1.Text * TEXT3.Text
Afsarea rezultatelor in casete text cu folosirea functiei
Format si Cstr
TEXT5.Text = CStr(Format(VENIT, "STANDARD"))
OPT_3CAM.Enabled = True
End Sub
Private Sub OPT_3CAM_Click()
OPT_2CAM.Enabled = False
TEXT1.Text = 0
TEXT3.Text = 0
TEXT5.Text = 0
SUMA = InputBox("CHIRIE PERCEPUTA PE LUNA")
TEXT2.Text = SUMA
LUNI = InputBox("PERIOADA DE INCHIRIERE ( NR. LUNI )")
TEXT4.Text = LUNI
VENIT = TEXT2.Text * TEXT4.Text
TEXT6.Text = CStr(Format(VENIT, "STANDARD"))
2%
OPT_2CAM.Enabled = True
End Sub
2&