Documente Academic
Documente Profesional
Documente Cultură
Macro
By Alina Stănculescu
Pagina |2
Cuprins
Modulul 1: Inregistrarea unui macro simplu.....................................................................................1
3.3. Cele mai des utilizate structuri de tip buclă pentru editarea macrourilor............................24
4.5. Crearea unui macro pentru sortarea datelor după o coloană si a crearea subtotalurilor într-un
tabel............................................................................................................................................36
Pagina |4
Excel Macro
2. Click pe Option;
Atenție! Excel înregistrează toți pași pe care îi faceți. Orice click pe care îl
executați este înregistrat în cadrul macro-ului. Dacă faceți click din greșeală pe
o comandă sau celulă, acest lucru este înregistrat. De aceea este bine să vă
programați toate etapele pe care doriți să le parcurgeți.
După ștergerea macro-ului din registrul Personal acest registru trebuie ascuns
din nou. Pentru a face acest lucru trebuie urmate etapele:
1.6.
1.7. Salvarea unui registru care conține macrouri
La salavarea unui registru de calcul care are cel puțin un macro utilizatorul este
atenționat asupra acestui aspect și este pus să aleagă între salvarea registrului
fără macrouri sau salvarea registrului cu macro, adică în format xlsm (Excel
Macro-Enabled workbook).
1. Deschideți Excel-ul;
Utilizarea macrourilor poate fi făcută fie pe baza unei scrutături, așa cum am
vazut în secțiunea 1.3, fie direct din lista de macrouri (așa cum s-a văzut în
secțiunea 1.2), fie dintr-un ribbon, fie de la un buton.
Pentru a adăuga comenzi pe un tab / ribbon nou creat trebuie întâi creat un
grup. Pentru a face acest lucru trebuie urmate etapele:
3.1. Familiarizarea cu VB
Atunci când înregistrați un macro , în oricare din aplicațiile din suita Office, de
fapt sunt scrise linii de cod în Visual basic, linii de cod care descriu operațiile
efectuate.
Elementele care definesc începutul și sfârșitul unul macrou sunt: Sub și End
Sub. Între cele două elemente este scris macroul.
© Alina Maria Stanculescu P a g i n a | 21
Excel Macro
3.3. Cele mai des utilizate structuri de tip buclă pentru editarea
macrourilor
Cele mai des utilizate structuri de tip buclă, pentru a repeta anumite acțiuni,
sunt:
1. For – Next – această structură este utilă atunci când se cunoaște exact de
câte ori se va executa comanda.
Pentru a repeta de un număr fix de ori un macro înregistrat sau creat trebuie
respectată sintaxa:
Next
Pentru a repeta un macro înregistrat sau creat până la îndeplinirea unei condiții
trebuie respectată sintaxa:
Loop
În Excel există o serie de operații care deși sunt simple, pot fi consumatoare
mari de timp. O astfel de operatie este formatarea înainte de tipărire. Deși
formatarea pagini înainte de tipărire este o operație care nu pune probleme
nimănui, atunci când faci aceeași operație de 2-3 ori pe zi, în fiecare zi, te poți
gândi să înregistrezi un macro care să automatizeze procesul de formatare. Pași
pentru înregistrarea unui macro care să formateze foaia de lucru înainte de
tipărire sunt următorii:
Exemplu: Atunci când s-a înregistrat macroul care stabilește valoarea finală a
profitului la 15000, codul VBA era de forma:
Sub GoalSeekPretFinal()
Range("A1")
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
Sub GoalSeekPretFinal()
Range("A1")
ActiveCell.Offset(1, 0).Range("A1").Select
© Alina Maria Stanculescu P a g i n a | 35
Excel Macro
End Sub
Rânduri - Obligatoriu. Este numărul de celule, în jos sau în sus, la care vreți să
se refere celula din stânga sus. Utilizând 5 ca argument specificați că celula din
stânga sus din referință este la 5 rânduri sub referință. Argumentul rânduri
poate fi pozitiv (adică sub referința de plecare) sau negativ (adică deasupra
referinței de plecare).
Col - Obligatoriu. Este numărul de coloane, spre dreapta sau spre stânga, la
care vreți să se refere celula din stânga sus. Utilizând 5 ca argument specificați
că celula din stânga sus din referință este la 5 coloane spre dreapta referinței.
Argumentul col poate fi pozitiv (adică la dreapta referinței de plecare) sau
negativ (adică la stânga referinței de plecare).
Offset($A&2,0,0,count($A:$A)-1) – unde:
- $A&2 – referință absolută la celula A2, prima celulă din zona dinamică
ce urmează să fie definită;
10. Se identifică acea parte din cod care face referire la întreaga
zonă de date, respectiv tabelul. Partea respectivă de cod trebuie să fie
de tipul: .SetRange Range("A2:H69"). Între ghilimele trebuie să se
regăsească referințele pentru tot tabelul. Acestea trebuie înlocuite cu
numele zonei dinamice create anterior pentru tabel. Astfel codul va
deveni: .SetRange Range("tabel"). S-a înlocuit practic zona de celule
A2:H26 cu zona dinamică numită tabel. Acest lucru va face posibilă
sortarea tuturor înregistrărilor adăugate la tabelul inițial.
I:
Rulați macroul.
End With
With
Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With
Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With
Selection.Borders(xlInsideHorizonta
l)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex =
xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Macro care adaugă 3 foi de lucru noi, la sfârșitul foilor de lucru existente,
cu numele Ianuarie, februarie, martie
Sheets("Ex20").Name = Sheets.Add(After:=Sheets(Sheets.Cou
"Ianuarie" nt)).Name = "Martie"
Sheets.Add Sheets.Add(After:=Sheets(Sheets.Cou
After:=Sheets(Sheets.Count) nt)).Name = "Aprilie"
Sheets("Sheet9").Select Sheets("Ianuarie").Select
Sheets("Sheet9").Name = End Sub
"Februarie"
Sheets.Add
After:=Sheets(Sheets.Count)
Sheets("Sheet10").Select
Sheets("Sheet10").Name =
"Martie"
Sheets.Add
After:=Sheets(Sheets.Count)
Sheets("Sheet11").Select
Sheets("Sheet11").Name =
"Aprilie"
Sheets("Ianuarie").Select
End Sub
Un virus macro este un virus care poate distruge fișierul deschis și care,
eventual, se poate răspândi și la celelalte registre de lucru din calculator pentru
a șterge sau modifica informațiile existente. Trimițând regirtul de lucru prin
intermediul emailului puteți răspândi virusul și în alte calculatoare. Pentru a
evita acest lucru este bine să vă protejați calculatorul și munca prin stabilirea
nivelului de securitate adecvat.
Pentru aplicațiile din suita Office poate fi creată o semnătură digitală pentru a
autosemna fișierele create. Pentru a crea o semnătură digitală personală
trebuie urmate etapele: