74

Excel Macros 2007

Embed Size (px)

DESCRIPTION

Maco for beginers

Citation preview

Page 1: Excel Macros 2007
Page 2: Excel Macros 2007

2

Cuprins

LECŢIA 1 - UTILIZAREA MACROINSTRUCŢIUNILOR .............................................. 5

Automatizarea sarcinilor cu macroinstrucţiuni ............................................................. 6

Setarea nivelului de securitate pentru macroinstrucțiuni .............................................. 7

Rularea unei macroinstrucțiuni .................................................................................... 9

Rularea unei macroinstrucţiuni cu o combinaţie de taste ........................................... 11

Bara de instrumente Visual Basic .............................................................................. 12

Recapitulare 1 ........................................................................................................... 13

Laborator 1 ................................................................................................................ 14

LECTIA 2 - ÎNREGISTRAREA UNEI MACROINSTRUCȚIUNI .................................. 15

Înregistrarea unui Macro ............................................................................................ 16

Assignarea unui Shortcut ........................................................................................... 19

Înregistrarea macroinstrucţiunilor care utilizează comenzi rapide ............................. 21

Ştergerea unui macro ................................................................................................ 24

Ştergerea unei macrocomenzi din Personal Macro workbook ................................... 25

Recapitulare 2 ........................................................................................................... 26

Laborator 2 ................................................................................................................ 27

LECŢIA 3 - EDITARE MACROINSTRUCȚIUNI ......................................................... 28

Deschiderea ferestrei Visual Basic ............................................................................ 29

Utilizarea editorului Visual Basic ................................................................................ 31

Editarea unei macroinstrucţiuni ................................................................................. 33

Copierea codurilor de macro ..................................................................................... 35

Scrierea unui nou macro ............................................................................................ 38

Page 3: Excel Macros 2007

3

Rularea unei macroinstrucţiuni din Code Window...................................................... 40

Recapitulare 3 ............................................................................................................ 41

Laborator 3 ................................................................................................................ 42

LECŢIA 4 - CREAREA BARELOR DE INSTRUMENTE SI MENIURILOR

PARTICULARIZATE .................................................................................................. 43

Crearea unei bare de instrumente particularizată ...................................................... 44

Adăugarea butoanelor pe bara de instrumente .......................................................... 45

Atribuirea de Macro unui buton particularizat ............................................................. 46

Modificarea aspectului unui Buton ............................................................................. 48

Afişarea simultană a textului şi imaginii asociate unui buton ..................................... 49

Ataşarea unei bare de instrumente particularizate la un registru de lucru ................. 50

Ştergerea unei bare de instrumente particularizată ................................................... 52

Crearea un meniu personalizat .................................................................................. 53

Adaugarea comenzilor particularizate în meniu ......................................................... 54

Recapitulare 4 ............................................................................................................ 56

Laborator 4 ................................................................................................................ 57

LECŢIA 5 – ADĂUGAREA CONTROALELOR PARTICULARIZATE LA FOAIA DE

LUCRU ...................................................................................................................... 58

Adăugarea Controalelor particularizate la fişa de lucru .............................................. 59

Lucrul cu butoane Macro ........................................................................................... 61

Crearea unei casete combinate ................................................................................. 63

Utilizarea controlului Spinner ..................................................................................... 65

Crearea unei bare de defilare .................................................................................... 67

Crearea butoanelor de opţiune .................................................................................. 68

Recapitulare 5 ............................................................................................................ 70

Laborator 5 ................................................................................................................ 71

Răspunsurile la întrebările recapitulative ................................................................... 73

CODUL VISUAL BASIC PENTRU LABORATORUL 3 ............................................... 74

Page 4: Excel Macros 2007

4

Page 5: Excel Macros 2007

5

LECŢIA 1 - UTILIZAREA

MACROINSTRUCŢIUNILOR

În această secţiune, veţi învăţa cum să:

Automatizaţi sarcinile cu Macro-uri

Setaţi nivelul de securitate pentru macrocomenzi

Executaţi o macrocomandă

Executaţi o macrocomandă folosind o tastă de comandă rapidă

Utilizaţi Bara de instrumente Visual Basic

Pentru acest capitol, utilizaţi fişierul de exerciţii Exercise1.xls

Page 6: Excel Macros 2007

6

Automatizarea sarcinilor cu macroinstrucţiuni

Discuţii

Pentru efectuarea mai multor acţiuni repetitive mari consumatoare de timp,

utilizarea macroinstrucţiunilor se dovedeşte a fi o soluţie ideală.

O macrocomandă conţine o serie de comenzi şi instrucţiuni Excel, astfel încât,

la un simplu clic pe butonul mouse-ului sau la o apăsare de tastă, puteţi completa

automat zece pași care sunt necesari pentru a face o procedură .

Un macro Excel este scris in limbajul de programare Visual Basic for

Applications (VBA) însă nu este neapărat necesar să știți VBA pentru a crea

macroinstrucțiuni deoarece puteți utiliza procedura de înregistrare Record Macro

pentru a înregistra pașii ce compun macroinstrucțiunea.

Exemple de macroinstrucțiuni utile:

O macrocomandă pentru a deschide fişiere utilizate frecvent.

Macrocomenzi ce formatează titlurile din raportul dumneavoastră.

Page 7: Excel Macros 2007

7

Setarea nivelului de securitate pentru macroinstrucțiuni

Discuţii

Unii viruşi pot veni deghizați în macroinstrucțiuni. De aceea este util să existe

opțiunea pentru a activa macroinstrucțiuni sau a nu fi de acord să deschidem registrul

de lucru. Dacă nu sunteţi sigur cu privire la sursa de macroinstrucțiuni, aveţi

posibilitatea să le dezactivaţi.

Pentru ca Excel să poată afișa mesajul de avertizare pentru macro, trebuie să

stabilim nivelul de securitate la cel puţin mediu.

Pentru setarea nivelului de securitate pentru macrocomenzi:

1. Într-un registru de lucru, dati click pe meniul Tools.

2. Selectaţi Options.

3. În caseta de dialog Options, selectaţi Security.

4. Faceţi clic pe butonul Macro Security.

Page 8: Excel Macros 2007

8

5. Selectaţi nivelul de securitate, la alegere.

Figura 1 Macro Security

Nivelul de securitate - Descriere

Very High: Macros se poate executa numai în cazul în care aveți încredere în toate

programele de completare şi de template-uri instalate.Dacă această opţiune este

selectată, macroinstrucțiunile sunt stocate într-un folder specific, de încredere, de pe

hard disk-ul utilizatorului.

High: Acest lucru este implicit şi va permite rularea doar a macroinstrucțiunilor dintr-o

listă de surse de încredere.

Medium: După setarea acestui nivel, sunteți întrebați dacă permiteți sau nu activarea

macroinstrucțiunilor, atunci când deschideţi registrul de lucru.

Min: restricţii sunt plasate şi macroinstrucțiunile vor rula fără avertizare.

6. Faceţi clic pe OK de două ori pentru a închide caseta de dialog.

Sfat: Cea mai bună apărare împotriva viruşilor macro este utilizarea unui software

antivirus fiabil, împreună cu securitatea macro.

Page 9: Excel Macros 2007

9

Rularea unei macroinstrucțiuni

Discuţii

Macroinstrucțiunile sunt salvate în registrele de lucru în care au fost scrise. Astfel că,

pentru a rula macro, trebuie să deschidem registrul de lucru.

1. Deschideți Exercise 1.xls.

2. Selectaţi Enable Macros.

3. Afişează foaia de lucru Data, dacă este necesar.

4. Faceţi clic pe orice celulă.

5. Din meniul Tools, selectaţi Macro.

6. Din meniul de comenzi rapide, alegeţi Macros.

Se afișează caseta de dialog Macro (figura 2).

Page 10: Excel Macros 2007

10

Figura 2 caseta de dialog Macro

7. Selectaţi macroinstrucțiunea insertdate.

8. Faceţi clic pe butonul Run.

Data curentă va fi inserată în foaia de lucru.

Notă: Spre deosebire de alte caracteristici Excel, nu se poate anula o macrocomandă

Excel cu Undo.

Page 11: Excel Macros 2007

11

Rularea unei macroinstrucţiuni cu o combinaţie de taste

Discuţii

Desigur, metoda anterioară de a rula o macrocomandă implică paşi mai mulți decât

introducerea datei direct în celulă. Există câteva metode mult mai convenabile de a

rula un macro. Vom prezenta două acum. Celelalte două implică crearea de butoane

şi meniuri pentru macroinstrucțiuni. Vom explora aceste opțiuni în capitolele 4 şi 5.

1. Dacă este necesar, deschideți Exercise 1.xls şi a afişați foaia de lucru Data.

2. Selectaţi orice celulă.

3. Ţineţi apăsată tasta CTRL şi apăsaţi d (litera mică).

Ca şi înainte, va fi introdus un câmp dată.

Page 12: Excel Macros 2007

12

Bara de instrumente Visual Basic

Discuţii

Bara de instrumente Visual Basic oferă un acces uşor la caseta de dialog Macro.

1. Faceţi clic dreapta pe zona barelor de instrumente.

2. Din meniul de comenzi rapide, selectaţi Visual Basic.

Bara de instrumente Visual Basic (Figura 3) este afişată.

Figura 3 bara de instrumente Visual Basic

3. Faceţi clic pe butonul Run Macro. Se afişează caseta de dialog Macro.

4. Selectaţi macro insertdate şi faceţi clic pe butonul Run.

Sfat: Pentru a accesa caseta de dialog Securitate macrocomenzi, faceţi clic pe

butonul Security… de pe bara de instrumente Visual Basic.

Page 13: Excel Macros 2007

13

Recapitulare 1

1) O macrocomandă va efectua întotdeauna aceleaşi instrucţiuni pe care a fost

însărcinat să le efectueze.

a) Adevărat

b) Fals

2) Trebuie să ştiţi limbajul de programare Visual Basic for Applications, pentru a

utiliza o macrocomandă.

a) Adevărat

b) Fals

3) Pentru a seta nivelul de securitate macro urmaţi paşii:

a) meniul Tools şi macro.

b) meniul Tools şi Options.

c) meniul Tools şi Templates and Add-ins.

4) Un nivel de securitate mediu pentru macro

a) Execută toate macrocomenzile, fără a vă solicita acceptul.

b) Vă cere să decideţi dacă doriţi să activaţi macroinstrucțiunile găsite în registrul de

lucru.

c) Deschide numai macroinstrucțiunile de la sursa de încredere.

5) Shortcut-ul asignat unui macro, este case sensitive.

a) Adevărat

b) Fals

Răspunsurile se găsesc la sfârşitul manualului.

Page 14: Excel Macros 2007

14

Laborator 1

1) Deschideţi fişierul Laborator1.xls şi activaţi macroinstrucțiunea.

2) În foaia de lucru sortResults, rulaţi macrocomanda sortResults.

Care este funcţia acestui macro?

3) Utilizaţi un shortcut pentru a rula cea de-a doua macrocomandă sortNameResults.

Cum diferă funcţia acestui macro față de primul?

4) Afişați bara de instrumente Visual Basic.

5) Rulați macrocomanda sortNameResults utilizând bara de instrumente.

6) Închideţi registrul de lucru fără a salva.

Page 15: Excel Macros 2007

15

LECTIA 2 - ÎNREGISTRAREA UNEI

MACROINSTRUCȚIUNI

În această secţiune, veţi învăţa cum să:

Înregistrați un Macro

Asociaţi o tastă de comandă rapidă

Înregistrați un macro care utilizează Referinţe relative

Ştergeți un Macro

Ştergeți o macrocomandă din Personal Macro Workbook

Pentru acest capitol, utilizaţi fişierul Exercise 2.xls

Page 16: Excel Macros 2007

16

Înregistrarea unui Macro

Discuţii

Utilizarea Macro Recorder pentru a crea macroinstrucțiunile noastre este similar cu

înregistrarea unui film utilizând o cameră video. După ce aţi apăsat pe butonul de

înregistrare, tot ceea ce faceţi se va captura. De aceea este important ca planul

nostru de paşi să fie clar stabilit înainte de a începe.

În exemplul nostru, în primul rând, vom înregistra o macrocomandă numită Title care

va formata antetul unui raport și va insera titlul “Sales Report”

Deschideţi fişierul Exercise 2.xls.

Sheet 1 conţine un scurt instructaj şi arată modul în care va arăta titlul.

Vom înregistra macrocomanda în foaia de lucru title.

1. În foaia de lucru title, selectaţi celula B4.

2. Din meniul Tools, selectaţi Macro.

Page 17: Excel Macros 2007

17

3. Din submeniu, selectaţi Record Macro.

Se afişează caseta de dialog Record Macro.

4. În această casetă de dialog, introduceţi:

Pentru acest câmp Fă acest lucru

Macro name Scrieţi Title

Store macro in Selectaţi

Description Macro va formata titlul raportului.

Completată, caseta de dialog va arăta ca în Figura 4.

Figura 4 Record Macro

5. Faceţi clic pe OK.

Apare bara de instrumente Stop Recording.

Recorderul este pornit acum şi va înregistra fiecare mişcare care o faceţi, inclusiv

greşelile dumneavoastră.

6. Realizaţi următoarele acţiuni:

a) Selectaţi celulele de la B4 la H4.

b) Modificarţi fontul la Arial.

c) Modificarţi dimensiunea fontului la 12.

d) Selectaţi Bold.

e) Selectaţi Merge & Center.

f) selectaţi Top & Bottom Borders

g) Selectaţi culoarea de umplere LightTurquoise

Page 18: Excel Macros 2007

18

8. Apăsaţi pe Enter.

9. Faceţi clic pe butonul Stop din bara de instrumente Stop Recording pentru a

opri înregistrarea.

Notă:

1. Macro name - nu poate începe cu un număr, nu poate conţine spaţii. Acesta

trebuie să fie de maxim 25 caractere.

2. Description - Acesta este un domeniu opţional ce conţine un comentariu pentru a

ajuta să vă amintiţi funcţionalitatea macro.

3. Store macro in - O macrocomandă poate fi stocată în oricare din aceste locaţii:

A. Personal Macro Workbook

O macrocomandă care este stocată aici va fi disponibilă ori de câte ori este rulat

Excel.

B. New Workbook

Stochează macro într-un registru de lucru nou.

c. This Workbook

Macrocomanda este stocată în registrul de lucru curent. Aceasta poate fi utilizată în

orice alt registru de lucru, atâta timp cât este deschis cel în care a fost înregistrată.

Page 19: Excel Macros 2007

19

Assignarea unui Shortcut

Discuţii

În Lecţia 1, am încercat să rulăm macrocomanda noastră folosind o cheie de comenzi

rapide. Avem posibilitatea să atribuiţi tasta de comenzi rapide în caseta de dialog

Record Macro (Figura 4), atunci când am denumit macro. Cu toate acestea, vom

presupune că nu am făcut acest lucru mai devreme şi acum am vrea să atribuim un

Shortcut Key

Pentru aceasta:.

1. Afişaţi bara de instrumente Visual Basic.

2. Faceţi clic pe butonul Run pe bara de instrumente Visual Basic.

Se deschide caseta de dialog Macro.

3. Selectaţi macrocomanda title şi apăsaţi butonul .

Aceasta va deschide caseta de dialog Macro Options.

4. Scrieţi litera t ce va fi asiciată astfel unei comenzi rapide

Caseta de dialog va arata ca cea din figura 5.

Page 20: Excel Macros 2007

20

Figura 5 Macro Options

5. Faceţi clic pe OK.

6. Închideţi fereastra Macro.

Pentru a testa macro, afişa foaia de lucru.. Apăsaţi CTRL şi t mic.

Notă: Tasta rapidă este case-sensitive. În cazul în care un T (majusculă=este tastat

în

Caseta de dialog Macro Opţions, pentru a executa macrocomanda, va trebui să

apăsaţi pe CTRL+ SHIFT+ T.

Sfat: Evitaţi atribuirea de taste de comenzi rapide macro care sunt la fel ca şi

comenzile rapide standard din Excel (de exemplu, CTRL B), deoarece comeanda

rapidă macro o va suprascrie pe acesta din urmă.

Page 21: Excel Macros 2007

21

Înregistrarea macroinstrucţiunilor care utilizează comenzi

rapide

Discuţii

Referinţele absolute şi relative se referă la modul în care un macro înregistrează

locaţia unei celule. Macroinstrucţiunea “title” pe care am înregistrat-o mai devreme

utilizează referinţe absolute. În acest caz,

nu contează celulele pe care le selectaţi, macrocomanda va crea întotdeauna titlu în

domeniul B4:H4.

Referinţele absolute utilizează locaţia exactă a celulelor aşa cum a fost înregistrată în

macro. Acesta este modul implicit de înregistrare.

Referinţele relative înregistrează poziţia în raport cu celula selectată. De exemplu,

vom selecta celula B2 la începutul sesiunii de înregistrare, dar ne mutăm trei rânduri

mai jos, la B5, pentru a înregistra acţiunea. Când vom rula macro, aceasta, de

asemenea, va deplasa acţiunea mai jos cu trei rânduri, indiferent de celula pe care o

vom selecta. O referinţă relativă macro este mai flexibilă pentru că putem să plasăm

acţiunea oriunde dorim.

Page 22: Excel Macros 2007

22

Utilizaţi foaia de lucru insertdate.

În acest caz, vom înregistra o macrocomandă care va insera data curentă folosind

funcţia de tip dată calendaristică = TODAY ().

Cu toate acestea, dacă nu ne dorim un domeniu de tip dată care să se modifice

dinamic după ce a fost

inserat, vom copia valoarea într-o altă celulă. Vom şterge apoi data din prima celulă.

Acest macro va fi, de asemenea, stocat în registrul de lucru Personal Macro

Workbook , astfel încât să poată fi utilizat şi în alte registre de lucru.

1. Selectaţi celula B4.

2. În bara de instrumente Visual Basic, faceţi clic pe butonul Record Macro.

3. În caseta de dialog Record Macro,

Pentru acest câmp Completaţi

Macro name Scrieţi “insertadate”

Shortcut key Scrieţi “d”

Store macro in Selectaţi

Description Acest macro conţine un camp tip dată care nu se actualizează

Caseta de dialog completată se regăseşte în Figura 6.

Figura 6

4. Faceţi clic pe OK pentru a începe procesul de înregistrare. 5. Faceţi clic pe butonul de referinţă relativă de pe bara de instrumente Stop recording. Butonul este activat în cazul în care există un chenar în jurul pictogramei. 6. În celula B4, scrieţi = TODAY (). Apăsaţi pe Enter. Data curentă va fi introdusă în celula B4. 7. Cu B4 celula selectată, faceţi clic pe meniul Format şi alegeţi Cells. Se deschide caseta de dialog Format Cells.

Page 23: Excel Macros 2007

23

8. Selectaţi fila Numbers dacă este necesar.

9. Alegeţi categoria Date.

10. În caseta listă Type selectaţi formatul de dată calendaristică “dd-mmm-yyyy”. Clic

OK

11. Faceţi clic dreapta şi alegeţi Copy din meniul de comenzi rapide.

12. Faceţi clic dreapta pe B6 de celule şi alegeţi Paste Special.

13. În caseta de dialog Paste Special, alegeţi Value and Number Format.

14. Faceţi clic pe OK pentru a închide caseta de dialog.

15. Ştergeţi celula B4.

16. Faceţi clic pe butonul Stop Recording.

Salvaţi şi închideţi acest registru de lucru.

Rularea Macroinstrucţiunii

1. Creaţi un registru de lucru nou.

2. Selectaţi celula A1.

3. Apăsaţi CTRL d.

Un câmp nou, de tip dată, va fi inserat în celula A3, care este de două rânduri de mai

jos decât celula selectată.

Notă: După ce am stocat un macro în Personal Macro workbook, atunci când

închidem sesiunea Excel, vom fi solicitatţi pentru a salva modificările din Personal

Macro workbook (Figura 7).

Figura 7 Salvarea modificărilor din Personal Macro workbook

Page 24: Excel Macros 2007

24

Ştergerea unui macro

Discuţii

Dacă aţi înregistrat macroinstrucțiuni în mod greşit sau dacă nu mai aveţi nevoie de

acestea, aveţi posibilitatea să le ştergeţi din caseta de dialog Macros.

Deschideţi Exercise 2.xls.

1. Faceţi clic pe butonul Run de pe bara de instrumente Visual Basic.

2. În caseta de dialog Macro selectaţi macrocomanda “color”

3. Faceţi clic pe butonul Delete.

4. Faceţi clic pe Yes pentru a confirma ştergerea.

Page 25: Excel Macros 2007

25

Ştergerea unei macrocomenzi din Personal Macro

workbook

Discuţii

O macrocomandă care este stocată în registrul de lucru Personal Macro workbook

poate fi eliminată din registrul de lucru în sine. Acest registru de lucru (Personal.xls)

este un fişier ascuns care este creat numai atunci când vom înregistra un macro în

acesta.

Deschideţi Exercise 2.xls sau orice alt registru de lucru.

1. Din meniul Windows, alegeţi Unhide.

2. În caseta de dialog Unhide, selectaţi Personal.xls. Faceţi clic pe OK.

Registrul de lucru Personal Macro workbook este afişat. Reţineţi numele fişierului de

pe bara de titlu.

3. Afişaţi caseta de dialog Macro şi ştergeţi macro ca mai sus.

4. Din meniul Windows, alegeţi Hide pentru a ascunde registrul de lucru Personal

Macro workbook

Notă: Nu închideţi registrul de lucru Personal Macro workbook deoarece

macroinstrucțiunile stocate în acel fişier nu vor fi capabile să ruleze.

Page 26: Excel Macros 2007

26

Recapitulare 2

1) Pentru a înregistra un macro:

a) Faceţi clic pe butonul de pe bara de instrumente Visual Basic.

b) Faceţi clic pe butonul de pe bara de instrumente Forms.

c) Selectaţi Macro, în meniul Tools şi faceţi clic pe Record New Macro.

2) Pentru a aloca o tastă de comandă rapidă, faceţi clic pe

a) Butonul Edit din caseta de dialog Macros.

b) Butonul Options din caseta de dialog Macros.

c) Buton Organizer din caseta de dialog Macros.

3) În mod implicit, atunci când înregistraţi o macrocomandă, acesta este înregistrată

utilizând referinţe

relative.

a) Adevărat

b) Fals

4) Un macro ce utilizează referinţe absolute va plasa rezultatul în acelaşi loc în care a

fost făcută înregistrarea

a) Adevărat

b) Fals

5) O macrocomandă stocată în Personal Macro workbook este disponibilă

a) numai în registrul de lucru în care este înregistrată.

b) în toate registrele de lucru din acel computer.

Page 27: Excel Macros 2007

27

Laborator 2

1) Deschideţi Practice 2.xls.

2) În foaia de lucru Presto, înregistraţi o macrocomandă care

a) va rezuma total vânzări şi costul total.

(Sugestie: selectaţi celulele C16 şi D16 înainte de a începe înregistrarea)

b) copiaţi şi transpuneţi rezultatele în celulele de la C18 la C19.

(Sfat: Apăsaţi tasta ESC după ce aţi transpus rezultatul pentru a dezactiva bordure

de copiere)

c) Calculaţi profitul.

d) Îngroşaţi textul din celulele B20 şi C20.

3) Assignaţi ca shortcut litera q.

4) Rulaţi macrocomanda.

Page 28: Excel Macros 2007

28

LECŢIA 3 - EDITARE MACROINSTRUCȚIUNI

În această secţiune, veţi învăţa:

Deschiderea Editorului Visual Basic Utilizaţi Editorul Visual Basic

Editarea unei macrocomenzi

Copierea unei Macro

Scrierea unei macrocomenzi noi

Rularea unui macro din fereastra Visual Basic

Pentru acest capitol, utilizaţi fişierul Exercise 3.xls

Page 29: Excel Macros 2007

29

Deschiderea ferestrei Visual Basic

Discuţii

Acum ca ne-am format o idee despre cum funcţionează o macrocomandă, haideţi să

vedem cum arată codul Visual Basic pe care Excel îl utilizează pentru a scrie

macroinstrucțiuni. Pentru a studia programului Visual Basic (VB) va trebui să citim o

carte în sine. Deci, scopul nostru aici, este de a ne familiariza cu VB astfel încât să

putem edita codurile pentru a face modificări minore macrocomenzilor noastre.

Utilizaţi registrul de lucru Exercise 3.xls.

1. Selectaţi celula B5.

2. Faceţi clic pe butonul Run Macro.

3. În caseta de dialog Macros, selectaţi macroinstrucţiunea “boldText”

4. Faceţi clic pe butonul .

Se afişează fereastra Visual Basic Editor (Figura 8).

Page 30: Excel Macros 2007

30

Figura 8 Editorul Visual Basic

Fereastra are următoarea structură:

Project Window Afişează dosare, foi de lucru şi module, care sunt

deschise. Aceasta include registrul de lucru Personal Macro

workbook.

Macroinstrucțiunile sunt stocate în module, care sunt la rândul său,

salvate înfoaia de lucru în care sunt scrise.

Dacă fereastra de proiect nu este afişată, faceţi clic pe butonul

Project Explorer de pe bara de instrumente Standard a ferestrei

Visual Basic.

Properties Window Afişează proprietăţile foii de lucru sau modulului selectat în

fereastra Project.

În cazul în care această fereastră nu este afişată în mod implicit,

faceţi clic pe butonul Properties de pe bara de instrumente

Standard a ferestrei Visual Basic

Code Window Afişează instrucţiunile Visual Basic (codurile) scrise pentru fiecare

macro.

Închideţi editorul Visual Basic

Din meniul File, alegeţi Close pentru a reveni la Microsoft Excel.

Sfaturi:

Pentru a deschide editorul Visual Basic , apăsaţi ALT F11.

Pentru a închide fereastra, apăsaţi ALT Q.

Page 31: Excel Macros 2007

31

Utilizarea editorului Visual Basic

Discuţii

Vom arunca acum o privire asupra codurilor în fereastra de cod.

Deschideţi editorul Visual Basic dacă aceasta nu este afişat.

(Repetaţi paşii de la pagina 25).

Figura 9 arată codurile de macro “boldText”.

Page 32: Excel Macros 2007

32

Începutul şi sfârşitul

unei proceduri

Oprocedură macro începe cu cuvântul Sub şi

de numele macrocomenzii, urmată de o pereche de

paranteze.

De exemplu, Sub BoldText () şi Sub colorCell ()

End Sub marchează punctul de sfârşit al macrocomenzii.

Comentarii Sunt note opţionale care se includ în scopuri de clarificare.

Fiecare linie de comentarii este

precedată de un apostrof. Comentariul

apare în text de culoare verde închis, spre deosebire de

textul negru pentru codurile de instrucţiuni.

Selection Acest cuvânt înseamnă că o selecţie a fost făcută. În acest

caz, Selection.Font.Bold = True implică faptul că

formatarea aldină este aplicată celulei selectate.

În următorul exemplu (luat de la codul colorCell), vom

vedea cuvintele “With” şi “End With”.

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

Aceasta înseamnă că cele două selecţii se aplică simultan.

Notă: Textele de formatare cu caractere aldine în tabelul de mai sus sunt pentru

accent şi nu nu înseamnă că acestea apar astfel în Visual Basic.

Sfat: Pentru a vedea toate codurile din modul, faceţi clic pe butonul Full Module View

de la baza ferestrei Code Window.

Page 33: Excel Macros 2007

33

Editarea unei macroinstrucţiuni

Discuţii

Vom edita macrocomanda colorCell, pentru a umple celula selectată cu culoarea

Light Turquoise.

Acest macro a fost înregistrat utilizând referinţe relative pentru a colora o celulă aflată

la un rând şi la o coloană distanţă faţă de celula selectată.

Noi vom edita macrocomanda, astfel încât să coloreze celula selectată.

Selectaţi celula B2 şi rulaţi macrocomanda colorCell. Celula C3 va fi umplută cu

culoarea galben.

Editare Macro:

1. Faceţi clic pe butonul Run Macro.

2. În caseta de dialog Macros selectaţi macroinstrucţiunea colorCell

3. Faceţi clic pe butonul Edit.

Se deschide editorul Visual Basic.

Page 34: Excel Macros 2007

34

4. Pentru a elimina referinţele relative, ştergeţi linia

ActiveCell.Offset(1, 1).Range("A1").Select

(Ca o alternativă s-ar putea să doriţi să adăugaţi un apostrof la începutul liniei pentru

a o transforma într-un comentariu. Acest lucru are acelaşi efect ca şi ştergerea liniei,

dar aceasta permite revenirea în caz că vă răzgândiţi prin simpla eliminare a

apostrofului)

5. Schimbaţi ColorIndex din 6 în 34.

Codul modificat ar trebui să arate ca în figura 10.

Figura 10

6. Apăsaţi ALT Q pentru a închide editorul Visual Basic.

Selectaţi celula D3 şi a rulaţi macro colorCell.

Page 35: Excel Macros 2007

35

Copierea codurilor de macro

Discuţii

Nu trebuie întotdeauna să înregistrăm un macro de care avem nevoie. Uneori, putem

îmbunătăţi functionalitatea unei macrocomenzi existente prin combinarea unor părţi

ale acesteia cu o alta. De exemplu, acum avem trei macroinstrucțiuni separate în

registrul de lucru Exercise 3.xls. Vom copia aceste macroinstrucțiuni şi le vom

combina pentru a forma o macrocomandă nouă.

Copierea unui Macro

1. Selectati macrocomanda colorCell şi afişaţi-o în editorul Visual Basic

2. Dacă este necesar, faceţi clic pe butonul Full Module View de la baza ferestrei de

cod pentru a afişa toate macroinstrucțiunile din modulul.

(Toate macroinstrucțiunile sunt memorate în modulul 2).

3. Glisaţi mouse-ul pentru a selecta toate codurile macro pentru cele trei

macroinstrucțiuni colorCell, addBorders şi boldText.

Page 36: Excel Macros 2007

36

4. Click dreapta şi selectaţi Copy.

5. În fereastra Project, faceţi dublu-clic pe modulul 3.

6. Poziţionaţi punctul de inserare în fereastra de cod.

7. Click dreapta pe mouse şi selectaţi Paste.

Am creat un set separat de macroinstrucțiuni în modulul 3.

8. Schimbaţi numele macro colorCell în formatTitle.

9. Schimbaţi comentariul cu “This macro will format the selected cells.”

Amintiţi-vă să puneţi un apostrof la începutul liniei, dacă l-aţi eliminat accidental pe

cel original.

10.În macro boldText, selectaţi şi tăiaţi (cut) linia Selection.Font.Bold = True.

11. Lipiţi-o mai jos,sub ultima linie de cod din formatTitle (a se vedea figura 11).

Figura 11

12. Selectaţi şi a tăiaţi codurile de la addBorders (nu selectaţi Sub).

13. Lipiţi-le mai jos, sub ultima linie de cod din formatTitle (a se vedea figura 12).

Codurile din figura 12 reprezintă macrocomanda noastră formatTitle.

Page 37: Excel Macros 2007

37

Figura 12

14. Ştergeţi toate celelalte macrocomenzi lăsând doar noul macro formatTitle.

15. Apăsaţi ALT Q pentru a reveni la Excel.

Selectaţi celulele de la B15 la H15 şi rulaţi noul macro formatTitle.

Sfat: comenzile Macro pot fi copiate şi în alte registre de lucru.

Page 38: Excel Macros 2007

38

Scrierea unui nou macro

Discuţii

Deşi este uşor de folosit recorderul, există mai multe comenzi care nu pot fi

accesate prin intermediul mouse-ului, meniuri sau tastatură.

1. Deschideţi editorul Visual Basic.

2. Faceţi dublu clic pe modulul 4 în fereastra Project.

3. Scrieţi Sub. Apăsaţi tasta spacebar.

4.Scrieţi numele macroinstrucţiunii NewRep ().

5. Apăsaţi pe Enter.

Punctul de inserare se va muta pe linia următoare şi Visual Basic va introduce în mod

automat comanda End Sub cu două linii în jos.

6. Introduceti codul aşa cum arată în figura 13.

Page 39: Excel Macros 2007

39

Figura 13 Coduri pentru Macro NewRep

Cod Explicaţie

Dim Worksheetname as String Worksheetname este o variabilă ce conţine orice

nume introdus de utilizator. Se introduce Dim

pentru a specifica ce tip de data vom introduce.

Folosind String tipul de data va fi text. Long se

foloseşte pentru a declara numere

InputBox(“Enter a name for the worksheet.”)

O casetă de tip Input box va afişa un text care-i va

sugera utilizatorului ce date sa introducă.

Sheets.Add.Name = Worksheetname

Adaugă un nou worksheet şi inserează numele

introdus anterior de utilizator.

ActiveCell.FormulaR1C1 = "Sales Report for " & Month

Introduce textul "Sales Report for " şi luna

(introdusă de utilizator) în celula activă care este

A2

Worksheets(Worksheetname).PageSetup.CenterFooter

Plasează numele worksheet-ului în central zonei

pentru subsol.

Suntem gata pentru a testa macrocomanda.

Page 40: Excel Macros 2007

40

Rularea unei macroinstrucţiuni din Code Window

Discuţii

O macrocomandă poate rula direct din editorul Visual Basic loc să ne întoarcem în

Excel pentru aceasta. Noi va testa macro NewRep.

În editorul Visual Basic

1. Poziţionaţi punctul de inserare în fereastra de cod, în textul macrocomenzii

NewRep

2. Pe bara de instrumente Standard, faceţi clic pe butonul Run Sub / user Form.

Caseta de intrare va fi afişată solicitând utilizatorului un nume pentru foaia de lucru.

3. Introduceţi un nume de foaie de lucru (de exemplu, Zona de Nord) şi faceţi clic pe

OK.

A doua casetă de intrare apare solicitând luna raportului.

4. Introduceţi o lună (de exemplu, aprilie) şi faceţi clic pe OK.

O foaie de lucru nouă, cu numele Zona de Nord vor fi inserată în registrul de lucru.

Titlul raportului va apărea în celula A2.

Page 41: Excel Macros 2007

41

Recapitulare 3

1) Pentru a deschide Editorul Visual Basic ferestre, apăsaţi

a) CTRL F11

b) ALT F11

c) ALT F12

2) Editorul Visual Basic Window este format din proiecte, proprietăţi şi

fereastra ______

a) Text

b) Code

c) Object

3) O macrocomandă este depozitată într-un modul.

a) Adevărat

b) Fals

4) Comentariile într-un cod de macrocomenzi sunt precedate de _____________

a) Virgulă

b) Punct şi virgulă

c) Punct

d) Apostrof

5) Sfârşitul unei proceduri (secvenţă de cod) este marcat de

a) End

b) End Sub

c) Sub

Page 42: Excel Macros 2007

42

Laborator 3

1) Deschideţi Practice 3.xls şi activaţi macroinstrucțiunile.

2) Deschideţi editorul Visual Basic şi modulul 1.

3) Denumiţi un nou macro Results.

(Sugestie: utilizaţi Sub)

4) Scrieţi următoarele comentarii.

„Acest macro solicită utilizatorul pentru clasa şi numele profesorului.

„Apoi sortează rezultatele dupa numele elevilor şi rezultatele la engleză.

5) Declaraţi Clasa şi Profesor, ca variabile de tip String (şir de caractere).

(Sugestie: a se utiliza declaraţiile Dim)

6) Creaţi o casetă Input box cu textul "Please enter the class."

(Sugestie: Class = InputBox ("Please enter the class.")

7) Scrieţi codurile

Range("C3").Select

ActiveCell.FormulaR1C1 = Class

8) Creaţi o a doua casetă de tip input box cu textul: "Please enter the name of the

teacher."

9) Scrieţi codurile

Range("C4").Select

ActiveCell.FormulaR1C1 = Teacher

10) Copiaţi codurile de la modulul 2 şi inseraţi-l cu o linie sub ultima linie de cod din

Modulul 1

(înainte de End Sub).

11) Întoarceţi-vă la Excel şi rulaţi macro.

Rezultatul rulării macro:

Students English Maths

Abigail 69 55

Ben 45 48

Janice 60 35

June 69 63

Kelvin 75 Absent

Leon 60 65

Linda 80 64

Michael 75 80

Olivia 48 45

Timothy 85 80

Page 43: Excel Macros 2007

43

LECŢIA 4 - CREAREA BARELOR DE

INSTRUMENTE SI MENIURILOR

PARTICULARIZATE

În această secţiune, veţi învăţa:

Crearea unei bare de instrumente particularizată

Adaugarea butoanelor pe bara de instrumente

Atribuirea de Macro unui buton particularizat

Modificarea aspectului unui Buton

Afişarea simultana a textului şi imaginii associate unui buton

Ataşarea unei bare de instrumente particularizate la un registru de lucru

Ştergerea unei bare de instrumente particularizată

Crearea un meniu personalizat

Adaugarea comenzilor particularizate în meniu

Pentru acest capitol, utilizaţi fişierul Exercise 4.xls

Page 44: Excel Macros 2007

44

Crearea unei bare de instrumente particularizată

Discuţii

Unii utilizatori prefer utilizarea butoanelor de pe barele de instrumente pentru

accesarea unor comenzi. Dacă sunteţi unul dintre ei, aţi putea găsi că este mai

convenabil să creaţi o bară de instrumente cu butoanele pe care le utilizaţi cel mai

des. Bara de instrumente nou creată este salvată în aplicaţia Excel şi poate fi

accesată din orice registru de lucru.

1. Daţi clic dreapta în zona barelor de instrumente.

2. Din meniul afişat, selectaţi Customize.

Va fi afişată caseta de dialog Customize.

3. Selectaţi fila Toolbarst.

4. Faceţi clic pe butonul New.

Apare caseta de dialog pentru noua bară de instrumente.

5. Tastaţi un nume pentru bara de instrumente de exemplu, Personal. Faceţi clic pe

OK.

Page 45: Excel Macros 2007

45

Adăugarea butoanelor pe bara de instrumente

Discuţii

Bara de instrumente nostru nou creată este goală aşteptând să+I adăugăm butoane

Exista mai multe mai multe butoane disponibile în fila Commands din fereastra Customize

decât pe barele de instrumente existente.

1. Afişaţi caseta de dialog Customize. 2. Selectaţi fila Commands. În exemplul nostru vom folosi butoanele pentru operatorii aritmetici. 3. Selectaţi categoria Insert. 4. În caseta Commands, derulaţi în jos până când găsiţi semnul egal “=”. Descrierea textului de lângă simbolul va fi afişată în Screen tip. 5. Trageţi butonul pe bara de instrumente Personal. 6. Populaţi bara de instrumente cu butoanele cu semnul plus, de înmulţire şi de împărţire.

Notă: Cele mai multe dintre butoane vin cu o pictogramă. Cele fără imagini sunt reprezentate

printr-un text. De exemplu,

Eliminarea unui buton de pe o bară de instrumente

Cu caseta de dialog Customize deschisă, glisaţi butonul în afara barei de instrumente.

Sau

Fără a deschide caseta de dialog Customize, apăsaţi tasta ALT şi glisaţi butonul

în afara barei de instrumente.

Page 46: Excel Macros 2007

46

Atribuirea de Macro unui buton particularizat

Discuţii

Toate butoanele din tab+ul Commands al ferestrei Customizeau deja alocată o

funcţie a lor cu excepţia butonului Custom Button. Butonul particularizat este frecvent

utilizat pentru a rula Macrocomenzi.

Utilizaţi registrul de lucru Exercise 4.xls.

1. Afişaţi tab-ul Commands din fereastra Customize

2. În caseta de tip listă Categories, faceţi clic pe Macros.

3. Selectaţi Custom Button în caseta Commands.

4. Glisaţi-l pe bara creată de noi (Personal).

Page 47: Excel Macros 2007

47

5. Faceţi clic pe butonul nou creat de pe bara de instrumente Personal.

6. Selectaţi butonul Modify Selection din fereastra Customize.

Apare Meniul Modify Selection.

7. Faceţi clic în câmpul Name şi scrieţi Color Cell.

Aceasta va apărea ca Screen tip pentru buton.

8. Selectaţi comanda Assign Macro.

Se deschide caseta de dialog Assign Macro.

Figura 14 Caseta de dialog Assign Macro

9. Selectaţi macro colorCell. Faceţi clic pe OK.

10. Faceţi clic pe butonul Closepentru a închide caseta de dialog Customize.

Macro colorCell este acum reprezentat de butonul Smiley de pe bara de instrumente

Personal.

Page 48: Excel Macros 2007

48

Modificarea aspectului unui Buton

Discuţii

Utilizaţi registrul de lucru Exercise 4.xls.

1. Afişaţi tab-ul Commands din fereastra Customize.

2. Selectaţi butonul Smiley din bara de instrumente Personal.

3. Faceţi clic pe butonul Modify Selection.

4. Selectaţi Change Button Image.

5. Alegeţi o nouă imagine din submeniul care apare.

Sfat: Pentru a particulariza mai departe butonul, faceţi clic pe Edit Button Image.

Page 49: Excel Macros 2007

49

Afişarea simultană a textului şi imaginii asociate unui buton

Discuţii

Butonul nostru macro pe bara de instrumente Personal afişează numai o pictogramă.

Ne vom

personaliza în continuare butonul pentru a afişa atât numele cât şi pictograma

asociată.

Acest lucru poate fi util pentru cineva care nu este familiarizat cu butoanele

particularizate pe care le-au creat.

1. Afişaţi caseta de dialog Customize

2. Faceţi clic dreapta pe butonul creat de pe bara de instrumente.

3. Alegeţi Image and Text.

Page 50: Excel Macros 2007

50

Ataşarea unei bare de instrumente particularizate la un

registru de lucru

Discuţii

Când creăm o bară de instrumente nouă aceasta esteasociată programului Excel şi

poate fi utilizată în orice registru de lucru. Totuşi, dacă vrem să mutăm registrul de

lucru la un alt computer, bara de instrumente nu ar fi disponibilă. Pentru a depăşi

aceast inconvenient, vom crea o bară de instrumente particularizată care este

ataşată unui registru de lucru.

Deschideţi Exercise 4.xls.

1. Afişaţi tab-ul Toolbars din caseta de dialog Customize.

2. Selectaţi bara de instrumente Personal pe care am creat-o.

3. Faceţi clic pe butonul Attach.

4. În caseta de dialog Attach Toolbars, selectaţi Personal.

5. Faceţi clic pe butonul Copy. Faceţi clic pe OK.

Page 51: Excel Macros 2007

51

Pentru a inversa procedura de mai sus, afişaţi caseta de dialog Attach Toolbars.

Selectaţi bara de instrumente din fereastra din dreapta şi faceţi clic pe butonul Delete

(a se vedea figura 15).

Figura 15 Ştergerea unei bara de instrumente ataşată

Notă: Scoaterea barei de instrumente particularizate din ataşamentul unui registru de

lucru nu o şterge din Excel.

Page 52: Excel Macros 2007

52

Ştergerea unei bare de instrumente particularizată

Discuţii

Ştergerea unei bare de instrumente particularizate o îndepărtează din aplicaţia Excel.

Cu toate acestea, dacă bara de instrumente a fost legată de un registru de lucru,

când veţi deschide acel registru de lucru, bara de instrumente va fi disponibilă în

Excel din nou.

1.. Afişaţi tab-ul Toolbars din caseta de dialog Customize.

2. Selectaţi bara de instrumente pentru ştergere, de exemplu, bara Personal.

3. Faceţi clic pe butonul Delete.

4. Faceţi clic pe OK pentru a confirma acţiunea.

Page 53: Excel Macros 2007

53

Crearea un meniu personalizat

Discuţii

Pe lângă crearea de bare de instrumente, putem crea, de asemenea, un nou meniu

sau putem adăuga comenzi la meniuri existente. Un meniu nou poate fi, de

asemenea, adăugat la o bară de instrumente.

1.. Afişaţi tab-ul Commands din caseta de dialog Customize

2. În lista Categories, selectaţi New Menu.

3. În caseta listă Commandsi, glisaţi elementul de New Menu în dreapta meniului

Help de pe bara de meniuri

4. Faceţi clic pe butonul Modify Selection în caseta de dialog Customize

Se afişează meniul Modify Selection.

5. Tastaţi un nume pentru noul meniu de exemplu, & Personal

.

Semnul & creează o comandă rapidă, astfel încât utilizatorul poate tasta ALT P

pentru a accesa meniul.

6. Faceţi clic pe butonul Close din caseta de dialog Customize.

Page 54: Excel Macros 2007

54

Adaugarea comenzilor particularizate în meniu

Discuţii

Comenzile de meniu pot fi adăugate ca un element principal sau ca un submeniu.

Submeniul afişează o săgeată în partea dreaptă a numelui său, indicând faptul că

există mai multe elemente care vor apărea în cazul în care este selectat.

Submeniurile sunt o metodă bună de a organiza meniul de comenzi, fără a aglomera

în meniul principal.

Deschideţi Exercise 4.xls.

1. Afişaţi tab-ul Commands din caseta de dialog Customize..

2. În lista Categories, selectaţi New Menu..

3. În caseta listă Commands, glisaţi elementul New Menu în partea de jos a meniului

Personal (a se vedea figura 16).

Figura 16

Page 55: Excel Macros 2007

55

4. Faceţi clic pe butonul Modify Selection în caseta de dialog Customize

5. Tastaţi un nume pentru noul meniu de exemplu, &Macros

6. În caseta de dialog Customize alegeţi categoria Macros

7. Glisaţi elementul Custom Menu în dreptul comenzii Macros aşa cum arată în figura

17.

Figura 17

8. Click dreapta pe elementul Custom Menu Item şi tastaţi un nume nou pentru acest

element.

De exemplu, & Cell color.

9. Faceţi clic pe Assign Macro.

10. Selectaţi macro Color Cell . Faceţi clic pe OK.

11. Închideţi fereastra Customize

Am creat un meniu Personal, care are un element de meniu numit Macros, care, la

rândul său, are un submeniu cu un element Color Cell.

Pentru a activa acest macro folosind tastatura (fără a utiliza metoda de assignare a

unui shortcut pentru macro), apăsaţi ALT +P+ O.

Sfat: Pentru a şterge un meniu, apăsaţi tasta ALT şi glisaţi meniul de pe bara de

meniuri

Page 56: Excel Macros 2007

56

Recapitulare 4

1) Pentru a crea o nouă bară de instrumente, afişăm

a) fila Toolbars din caseta de dialog Options.

b) fila Commands din caseta de dialog Customize.

c) fila Toolbars din caseta de dialog Customize.

2) Pentru a elimina un buton pe bara de instrumente, apăsaţi tasta _____ şi glisaţi

butonul de pe bara e instrumente.

a) SHIFT

b) CTRL

c) ALT

d) ALT+SHIFT

3) Pentru a aloca un macro unui buton, puteţi afişa caseta de dialog Customize

selectaţi butonul şi alegeţi _______________.

a) Options

b) Rearrange Commands

c) Modify Selection

4) Care dintre următoarele afirmaţii este adevărată?

a) O bară de instrumente nou-creată este disponibilă numai în registrul de lucru în

care a fost creată

b) O bară de instrumente nou-creată este disponibilă pentru toate registrele de lucru,

utilizând aceelaşi

computer.

c) O bară de instrumente nou-creată este disponibilă pentru tot software-ul Microsoft

Office de pe acelaşi calculator. .

d) O bară de instrumente nou-creată este disponibilă pentru acelaşi registru de lucru,

chiar dacă acesta este folosit pe un alt computer.

Page 57: Excel Macros 2007

57

Laborator 4

1) Deschideţi fişierul Practice 4.xls şi activaţi macroinstrucțiunile.

2) Creaţi o bara de instrumente numită Reports.

3) Adăugaţi-i butonul New (New Workbook)

4) Adaugaţi-i butonul Print PRecapitulare.

5) Adăugaţi un buton personalizat

6) Atribuiţi acestui buton macrocomanda addBorders

7) Schimbaţi imaginea butonului cu pictograma creion.

8) Denumiţi butonul “Draw Borders”

9) Afişaţi atât imaginea cât şi numele butonului.

10) Ataşaţi bara de instrumente Reports laregistrul de lucru Practice 4.xls.

Page 58: Excel Macros 2007

58

LECŢIA 5 – ADĂUGAREA CONTROALELOR

PARTICULARIZATE LA FOAIA DE LUCRU

În această secţiune, veţi învăţa:

Adaugarea Controalelor particularizate la fişa de lucru

Lucrul cu butoane Macro

Crearea unui panou de control

Introducerea si utilizarea unei bare de defilare

Pentru acest capitol, utilizaţi Exercise 5.xls

Page 59: Excel Macros 2007

59

Adăugarea Controalelor particularizate la fişa de lucru

Discuţii

Excel vă permite să faceţi foaia de lucru mai uşor de utilizat permiţându-vă să

adăugaţi controale particularizate, cum ar fi butoane de opţiune, casete de selectare,

etc.

În tabelul de mai jos găsiţi o lista de instrumente particularizate care se găsesc pe

bara de instrumente Forms.

Buton Descriere

Label Textul care furnizează informații despre un control sau

despre foaia de lucru sau despre format

Group Box Grupează controale înrudite, de exemplu butoanele opțiuni

sau casetele de selectare.

Macro-Command

Button

Atunci când se face clic pe acesta se lansează în execuție o

macrocomandă.

Check Box Activează sau dezactivează o opțiune. Se pot verifica mai

multe casete de selectare la un moment dat pe o foaie sau

într-un grup.

Option Button Selectează o opțiune dintr-un grup de opțiuni conținute într-o

casetă de grupare. Butonul opțiune se utilizează pentru a

permite din câteva o singură posibilitate.

List Box Afișează o listă de elemente. Trebuie specificată o referință

Page 60: Excel Macros 2007

60

la zona ce conține valorile de afișat în caseta listă.

Combo Box O casetă listă verticală. Elementul selectat în caseta listă

apare în caseta text.

Scroll Bar Defilează printr-o zonă de valori atunci când se face clic pe

săgețile de defilare sau se glisează o casetă de defilare.

Aveți posibilitatea să vă mutați printr-o pagină de valori

făcând clic între caseta de defilare și o săgeată de defilare.

Spinner Mărește sau micșorează o valoare. Pentru a mări valoarea,

faceți clic pe săgeată în sus; pentru a micșora valoarea,

faceți clic pe săgeată în jos.

Toggle Grid Afişează sau ascunde grilele din foaia de lucru

Page 61: Excel Macros 2007

61

Lucrul cu butoane Macro

Discuţii

Putem introduce butoanele macro oriunde pe foaia de lucru pentru a automatiza

repetitive anumite sarcinii. Macro butoanele pot fi copiate dintr-o foaie de lucru în alta

şi chiar într-un alt registru de lucru.

Utilizaţi Exercise 5.xls şi foaia de lucru Macro Buttons.

1. Afişează bara de instrumente Forms.

2. Faceţi clic pe butonul .

Indicatorul mouse-ului se va transforma într-o croce care va puncta colţul din stânga

sus al butonului.

3. Poziţionaţi indicatorul mouse-ului într-o locaţie adecvată pe foaia de lucru de

exemplu, celula B4.

4. Glisaţi mouse-ul pentru a crea un buton.

Caseta de dialog Assign Macro apare atunci când eliberăm butonul mouse-ului.

Page 62: Excel Macros 2007

62

5. Selectaţi o macroinstrucţiune care se va atribui butonului de exemplu, insertDate.

6. Faceţi clic pe OK.

7. Tastaţi o etichetă pentru buton,l de exemplu, Insert Date.

8. Faceţi clic oriunde în foaia de lucru pentru a deselecta butonul.

Faceţi clic pe butonul de macro pentru a-l testa.

Selectarea unui buton Macro

Pentru a selecta butonul Macro, trebuie să ţineţi apăsată tasta CTRL când daţi clic pe

buton. Odată ce unchenar gri apare în jurul butonului, eliberaţi tasta Ctrl.

Figura 18 butonul selectatat

Redimensionarea sau mutarea butonului

Pentru a redimensiona buton, selectaţi butonul şi glisaţi oricare dintre mânerele albe

pentru dimensionare

Pentru a muta butonul, faceţi clic pe frontiera gri pentru a obţine un cursor tip săgeată

în cruce.

Faceţi clic şi trageţi pentru a muta butonul.

Realocarea unui buton

Dacă aţi alocat butonul în mod greşit, faceţi clic dreapta cu mouse-ul pe buton. Din

meniul care apare selectaţi Assign Macro. Selectaţi macrocomanda corectă.

Editarea numelui unui buton

Pentru a edita numele butonului, click dreapta alegeţi Edit Text. Faceţi clic oriunde în

afara butonului după ce aţi terminat editarea numelui.

Formatarea textului unui buton

Pentru a formata fontul şi stilul textului unui buton,

1. Click dreapta şi alegeţi Format control.

2. Alegeţi fila Font şi faceţi schimbările necesare.

3. Faceţi clic pe OK când aţi terminat.

Ştergerea unui buton

Apăsaţi CTRL şi faceţi clic pe pentru a selecta butonul. Apăsaţi Delete de pe

tastatură.

Page 63: Excel Macros 2007

63

Crearea unei casete combinate

Discuţii

Pentru următoarele câteva subiecte, vom folosi foaia de lucru Controls care

utilizează funcţia PMT pentru a calcula valoarea de rambursare pentru un credit

ipotecar.

Utilizaţi Exercise 5.xls şi foaia de lucru Controls.

1. Afişaţi bara de instrumente Forms.

2. Selectaţi celulele I2:J5. Aceasta gama cuprinde diferite tipuri de case.

3. Din meniul Insert, selectaţi Name.

4. Din submeniu, alegeţi Create.

5. Selectaţi caseta Top Row. Deselectaţi toate celelalte casete de selectare (a se

vedea figura 19). Acest lucru creează numele pentru două zone: House and Price.

Page 64: Excel Macros 2007

64

Figura 19

6. Pe bara de instrumente Forms, faceţi clic pe butonul Combo box.

7. Glisaţi pentru a trage o casetă combo de la E2 la G2.

8. Faceţi dublu clic pe combo box pentru a afişa caseta de dialog Format object.

9. Selectaţi fila Control.

10. Faceţi următoarele modificări în tab-ul Control:

Input Range: House

Cell Link: K2 (Excel va pune semnul $ pentru referinţă absolută)

Drop Down Lines: 3

Figura 20 Formatul casetei de dialog Control al Combo Box

11. Faceţi clic pe OK pentru a închide caseta de dialog.

12. Apăsaţi tasta ESC pentru a deselecta caseta de control combo.

13. În C2, scrieţi = INDEX(Price, K2).

Această funcţie utilizează valoarea care este returnată în K2 şi găseşte o potrivire

exactă gîn domeniul Price.

Testaţi caseta combo.

Page 65: Excel Macros 2007

65

Utilizarea controlului Spinner

Discuţii

1. Selectaţi butonul Spinner din bara de instrumente Forms.

2. Glisaţi pentru a trage un control Spinner în celula E3.

3. Faceţi dublu clic pe controlul Spinner.

4. În tab-ul Control al casetei de dialog Format Object, faceţi următoarele modificări:

Minimum Value 0

Maximum Value 20

Incremental Change 1

Cell Link K3

5. Faceţi clic pe OK.

Page 66: Excel Macros 2007

66

6. În celula C3, scrieţi = K3/100.

Astfel se încheie procesul de a crea de control Spinner pentru avans.

Când ne faceţi clic pe săgeată sus, valoarea procentului va creşte.

Crearea unui control de tip Spinner pentru câmpul Years

1. Selectaţi butonul Spinner din bara de instrumente Forms.

2. Glisaţi pentru a trage un control Spinner în celula E6.

3. Faceţi dublu clic pe controlul Spinner.

4. În tab-ul Control al casetei de dialog Format Object, faceţi următoarele modificări:

Minimum Value 1

Maximum Value 30

Incremental Change 1

Cell Link K6

5. Faceţi clic pe OK.

6. În celula C6, scrieţi = K6.

Când faceţi clic pe săgeată sus, numărul de ani va creşte.

Page 67: Excel Macros 2007

67

Crearea unei bare de defilare

Discuţii

Vom crea un control tip bara de derulare pentru câmpul de dobândă.

1. Faceţi clic pe butonul Scroll Bar pe bara de instrumente Forms.

2. Glisaţi pentru a trage un control tip bară de derulare de la E5 la G5.

3. Dublu clic pe control şi faceţi următoarele modificări în tab-ul Control:

Minimum Value 0

Maximum Value 3500

Incremental Change 25

Page Change 100

Cell Link K5

4. Faceţi clic pe OK pentru a închide caseta de dialog.

5. În celula C5, scrieţi = K5/10000.

6. Faceţi clic pe butonul Increase Decimal de pe bara de instrumente Standard pentru

a formata celula C5 pentru a afişa numerele cu două zecimale.

Glisaţi caseta de parcurgere în bara de defilare sau folosiţi butoanele săgeată pentru

a schimba dobânda.

Page 68: Excel Macros 2007

68

Crearea butoanelor de opţiune

Discuţii

Vom crea două butoane de opţiune ales care afişează un mesaj în celula B13 atunci

când sunt selectate.

1. Selectaţi butonul de opţiune din bara de instrumente Forms.

2. Glisaţi şi trageţi un buton de opţiune în celula B10.

3. Scrieţi “Yes” pentru eticheta butonului

Ar putea fi necesar să redimensionaţi butonul de control pentru a vedea textul.

4. Click dreapta şi selectaţi Format Control.

5. Pentru valoarea celulei, alegeţi Checked.

6. Pentru Cell link, alegeţi K10.

7. Faceţi clic pe OK pentru a închide caseta de dialog.

Page 69: Excel Macros 2007

69

8. Creaţi un al doilea buton de opţiune în celula C10 cu eticheta “No”

9. Click dreapta şi selectaţi Format Control.

10. Pentru valoarea celulei, alegeţi Unchecked.

11. Pentru link-ul Cell, alegeţi K10.

12. Faceţi clic pe OK pentru a închide caseta de dialog.

În cazul în care utilizatorul alege opţiunea yes, valoarea plasată în K10 este 1. Dacă

opţiunea

No este aleasă, valoarea este 2.

13. În B13 scrieţi

=IF(K10=1,"I accept the monthly repayment amount.",

"Please rework the plan so that the repayment amount is more affordable")

14. Apăsaţi pe Enter.

Modelul complet arată ca în Figura 21.

Figura 21

Page 70: Excel Macros 2007

70

Recapitulare 5

1) Butoanele de control particularizat se găsesc în bara de instrumente __________.

a) Formatting

b) List

c) Forms

2) Câte butoane de opţiune puteţi avea într-un grup?

a) unul

b) două

c) trei

d) cât de multe doriţi.

3) O casetă de selectare bifată întoarce valoarea _______.

a) TRUE

b) FALSE.

4) Care este funcţia butonului Toggle grid?

a) Să schimbe opţiunile grilelor din foaia de calcul.

b) Să tipărească grilele din foaia de lucru.

c) Să afişeze grilele în foaia de lucru.

5) O casetă combo necesită o serie de valori de intrare.

a) Adevărat

b) Fals

Page 71: Excel Macros 2007

71

Laborator 5

1) Deschideţi Practice 5.xls.

Foaia de lucru Students conţine rezultatele examenului. Creaţi un raport în foaia de

lucru Reports. Ar trebui să arate în felul următor:

2) În foaia de lucru students, selectaţi celulele de la B3 la D13.

3) Din meniul Insert alegeţi Name şi selectaţi Create.

4) Selectaţi doar caseta Top row.

5) În foaia de lucru raport, afişaţi bara de instrumente Forms.

6) Introduceţi un combo box în celula C4.

7) Dublu-click pentru a accesa caseta de dialog Format control

8) Faceţi următoarele modificări:

9) Faceţi clic pe OK.

10) În celula F1, scrieţi = TODAY ().

11) În celula C6, scrieţi =INDEX(English,students!B16)

12) În celula C8, scrieţi =INDEX(Maths,students!B16)

13) Încelula F6, scrieţi = SUM (C6, C8).

14) În celula F8, = IF (F6> 100, "Pass", "Fail")

15) Selectaţi celula F8, iar din meniul Format, selectaţi, formatare condiţionată

Page 72: Excel Macros 2007

72

16) Setaţi Condiţia 1 astfel încât să puteţi citi mesajul:

Cell Value is Equal to “Fail”

17) Click pe butonul Format şi formataţi fontului pentru a fi de culoare roşu şi

îngroşat.

18) Setaţi Condiţia 2 pentru a citi,

Cell Value is equal to Pass.

19) Click pe butonul Format şialegeţi formatul de font care urmează să fie albastru şi

îngroşat.

20) Faceţi clic pe OK pentru a închide caseta de dialog.

Raportul este acum gata. Selectaţi un nume din caseta combo pentru a vedea

punctajele şi statutul.

Page 73: Excel Macros 2007

73

Răspunsurile la întrebările recapitulative

Recapitulare 1

1) A

2) B

3) B

4) B

5) A

Recapitulare 2

1) A şi C

2) B

3) B

4) A

5) B.

Recapitulare 3

1) B

2) B

3) A

4) D

5) B

Recapitulare 4

1) C

2) C

3) C

4) B

Recapitulare 5

1) C

2) D

3) A

4) C.

5) A

Page 74: Excel Macros 2007

74

CODUL VISUAL BASIC PENTRU LABORATORUL 3

Sub Results()

'This macro asks the user for the class and teacher's name.

'It then sorts the results by students' name and English results.

Dim Class As String

Dim Teacher As String

Class = InputBox("Please enter the class.")

Range("C3").Select

ActiveCell.FormulaR1C1 = Class

Teacher = InputBox("Please enter the name of the teacher.")

Range("C4").Select

ActiveCell.FormulaR1C1 = Teacher

'Sorts the results

Range("B7:D16").Sort Key1:=Range("B7"), Order1:=xlAscending, Key2:=Range( _

"C7"), Order2:=xlAscending, Key3:=Range("D7"), Order3:=xlAscending, _

Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _

xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _

DataOption3:=xlSortNormal

End Sub