Curs14 - Excel 9 - Macro

39
CALCUL TABELAR ÎN PROBLEME ECONOMICE INFORMATICĂ ECONOMICĂ CURS – ANUL 1 Conf . Dr. Gabriela MIRCEA MACROCOMENZI

description

informatica economica anul I

Transcript of Curs14 - Excel 9 - Macro

Slide 1

CALCUL TABELAR N PROBLEME ECONOMICE INFORMATIC ECONOMIC CURS ANUL 1Conf . Dr. Gabriela MIRCEA MACROCOMENZI 1Noiuni teoreticeMACROCOMENZI

O macrocomand - serie de comenzi i funcii memorate ntr-un modul Visual Basic.O macrocomand reprezint o aciune sau un set de aciuni care se pot utiliza pentru automatizarea activitilor.

Macrocomenzile sunt nregistrate n limbajul de programare Visual Basic for Applications.

Dup crearea unei macrocomenzi, aceasta poate fi atribuit unui obiect (ex: un buton de comand), astfel nct s se execute (ruleze) cnd se face clic pe obiect.

Macrocomenzile pot fi rulate ori de cte ori trebuie executat activitatea respectiv.O macrocomand nregistreaz fiecare pas pe care utilizatorul l realizeaz atunci cnd ndeplinete o cerin.

Asfel, la urmtoarea dat cnd utilizatorul trebuie s ndeplineasc aceai cerin, este mult mai facil s ruleze macrocomanda.

n acest fel, utilizatorul nu mai trebuie s reia de fiecare dat aceeai serie de pai, ci ruleaz direct macrocomanda.xzxzx3Afiarea filei DeveloperPentru lucrul cu macrocomenzi, avem nevoie de fila Developer.

De regul, fila Developer nu este implicit afiat n Excel. Paii pentru afiare sunt urmtorii:

1. Se selecteaz butonul Office, iar apoi butonul Excel Options.2. Click pe tabul Popular i se bifeaz opiunea Show Devloper tab in the Ribbon.

3. Click pe butonul OK. Fila Developer va fi afiata ca n figura urmtoare:

nregistrarea unei macrocomenzinregistrarea unei macrocomenzi se realizeaz prin acionarea butonului Record Macro , aflat n fila Developer.

n fereastra Record Macro:

Se atribuie o denumire macrocomenzii;

Utilizatorul poate stabili o scurtatur, prin combinaia de taste Ctrl + o liter la alegere;

Macrocomanda poate fi stocat n workbookul curent, ntr-un workbook nou sau n Personal Macro Workbook;

Se atribuie opional o descriere a macrocomenzii.

Utilizatorul efectueaz paii care dorete s fie nregistrai, iar la final acioneaz butonul Stop Recording , aflat n fila Developer.

Optiunea Store macro in: This Workbook, presupune c macrocomanda este vizibil i poate fi rulat/ executat numai n fiierul Excel existent ( This Workbook).

Opiunea Store macro in: New Workbook, presupune c macrocomanda va fi creat n cadrul unui fiier Excel nou deschis (New Workbook); macrocomanda poate fi ns rulat din cadrul ambelor Workbook-uri.

Opiunea Store macro in: Personal Macro Workbook , presupune c macrocomanda va fi stocat la nivel central, astfel nct poate fi rulat din cadrul oricrui fiier Excel (orice Workbook).

La nregistrarea unei macrocomenzi, Excel memoreaz informaiile despre fiecare pas care trebuie fcut pentru efectuarea seriei de comenzi.

Apoi, se poate executa macrocomanda pentru a repeta comenzile.

Pentru a salva un fiier Excel care conine una/ mai multe macrocomenzi, obligatoriu se selecteaz tipul Excel Macro Enabled Workbook.

Se tasteaz numele fiierului i calea unde se dorete a fi salvat, apoi click pe butonul Save.

USE RELATIVE REFERENCESAcionarea butonului Record Macro aflat n fila Developer.

Completarea ferestrei Record Macro.

Efectuarea pailor dorii pe care macrocomanda s i nregistreze.

Oprirea nregistrrii macrocomenzii prin butonul Stop Recording.

nregistrarea unei macro fr opiunea Use Relative Referencesnregistrarea unei macro cu opiunea Use Relative ReferencesAcionarea butonului Use Relative References aflat n fila Developer.

Acionarea butonului Record Macro aflat n fila Developer.

Completarea ferestrei Record Macro.

Efectuarea pailor dorii pe care macrocomanda s i nregistreze.

Oprirea nregistrrii macrocomenzii prin butonul Stop Recording.

EFECTEFECTRularea macrocomenzii se va face strict pe domeniul de celule selectat la nregistrarea macrocomenzii.

Macrocomanda nu se poate rula n alt parte a Workbook-ului.Rularea macrocomenzii este posibil n orice parte (celul/ domeniu de celule) din Workbook.Se selecteaz butonul Record Macro; n fereastra aprut tastm numele Macro_formatare i opional alegem o combinaie de taste la alegere i o descriere.

Se selecteaz o celul (ex: H14) i se aplic formatrile cerute.

Se selecteaz butonul Stop Recording.

Se selecteaz butonul Macros, se alege macrocomanda Macro_formatare i se selecteaz butonul Run.

S se realizeze o macrocomand care s formateze un domeniu selectat astfel:

Fundal albastru;Font Times New Roman, dimensiune 14, culoare Rosu, Bold, Italics.

SITUAIA 1

! Macrocomanda ruleaz numai asupra celulei H14; este practic inutil dac ne dorim sa aplicm aceast formatare intr-un alt domeniu de celule.

Se selecteaz butonul Use Relative References.

Se selecteaz butonul Record Macro; n fereastra aprut tastm numele Macro_formatare2 i opional alegem o combinaie de taste la alegere i o descriere.

Se selecteaz o celul (ex: H14) i se aplic formatrile cerute.

Se selecteaz butonul Stop Recording.

Se selecteaz butonul Macros, se alege macrocomanda Macro_formatare i se selecteaz butonul Run.

S se realizeze o macrocomand care s formateze un domeniu selectat astfel:

Fundal albastru;Font Times New Roman, dimensiune 14, culoare Rosu, Bold, Italics.

SITUAIA 2

! Macrocomanda ruleaz oricrui domeniu de celule dorim, de orice dimensiune; indiferent c a fost nregistrat n celula H14, macrocomanda poate fi aplicat n orice domeniu de celule.

Ex: Selectm domeniul de celule A1:C4 i rulm macrocomanda aici.

Rularea unei macrocomenziRularea unei macrocomenzi se realizeaz prin acionarea butonului Macros , aflat n fila Developer.

n fereastra Macro, se selecteaz locaia unde se afl macrocomanda dorit, apoi click pe aceasta i se acioneaz butonul Run.

tergerea unei macrocomenzitergerea unei macrocomenzi se realizeaz prin acionarea butonului Macros , aflat n fila Developer.

n fereastra Macro se selecteaz locaia unde se afl macrocomanda dorit, apoi click pe aceasta i se acioneaz butonul Delete.Editarea unei macrocomenziEditarea unei macrocomenzi se realizeaz prin acionarea butonului Macros , aflat n fila Developer.

n fereastra Macro, se selecteaz locaia unde se afl macrocomanda dorit, apoi click pe aceasta i se acioneaz butonul Edit sau butonul Step Into.

Pe ecran va aprea editorul Visual Basic for Application, de unde se pot aduga/ terge/ modifica linii de cod din cadrul macrocomenzii nregistrate.

Visual Basic for Application este un mediu care permite rularea liniilor de cod Visual Basic pentru obinerea unor faciliti extinse pe care pachetul Microsoft Office le pune la dispoziie.Mdificarea parametrilor unei macrocomenzi se realizeaz prin acionarea butonului Macros , aflat n fila Developer.

n fereastra Macro, se selecteaz locaia unde se afl macrocomanda dorit, apoi click pe aceasta i se acioneaz butonul Options.

Utilizatorul are posibilitatea de a modifica combinaia de taste pentru scurttura macrocomenzii , precum i descrierea acesteia.

Rularea direct a unei macrocomenzi Bara de acces rapid (Quick Access Toolbar) Pentru a facilita lucrul cu macrocomenzile, acestea pot fi facil ataate unor butoane de pe bara de acces rapid.

Se selecteaz butonul Office, iar apoi butonul Excel Options. n fereastra Excel Options se selecteaz opiunea Customize. Din prima lista derulant se alege opiunea Macro.

Se alege macrocomanda creia dorim s i atam un buton pe bara de acces rapid, alegem unde dorim s fie vizibil noul buton (n toate documentele Excel sau numai n cel curent) i acionm butonul Add.

Pentru un efect vizual mai puternic, utilizatorul poate alege icon-ul butonului care este ataat macrocomenzii.

n cadrul Customize Quick Access Toolbar, se selecteaza macrocomanda i se acioneaz butonul Modify.

n fereastra Modify button se alege icon-ul dorit i se acioneaz butonul OK.

Macrocomanda va fi reprezentat printr-un buton direct pe bara de acces, iar rularea acesteia va fi mult mai facil.

Crearea unei macrocomenzi n VBA

Dup nregistrarea unei macrocomenzi, codul acesteia se poate vizualiza cu Editorul Visual Basic pentru a corecta erorile sau pentru a modifica aciunile fcute de macrocomand.

Cu Editorul Visual Basic se pot:

edita i crea macrocomenzi;copia macrocomenzi dintr-un modul n altul;

copia macrocomenzi ntre diferite registre de lucru;

redenumi modulele care memoreaz macrocomenzi ;

redenumi macrocomenzile.Visual Basic memoreaz fiecare macrocomand ntr-un modul nou ataat registrului de lucru.Crearea macrocomenzii:

Se selecteaz butonul Visual Basic, aflat n fila Developer.

n fereastra Microsoft Visual Basic se adaug (dac este nevoie) un modul: Click dreapta asupra proiectului curent i Insert Module.

n fereastra editorului Visual Basic se tasteaz codul macrocomenzii.

Se revine n Sheet-ul Excel i se ruleaz macrocomanda.

Sub Numele_Macrocomenzii()

cod

End SubSintaxa macrocomenzii n fereastra editorului Visual Basic se poate modifica numele macrocomenzii, pstrnd cele dou paranteze pentru scrierea eventualilor parametrii .

S se realizeze o macrocomand care s formateze un domeniu selectat astfel:

Fundal rou;Font Georgia, dimensiune 16, culoare Alb.

SITUAIA 1

Se selecteaz butonul Visual Basic, aflat n fila Developer.

n fereastra Microsoft Visual Basic, click dreapta asupra proiectului curent i Insert Module.

Se tasteaz codul macrocomenzii.

! Macrocomanda ruleaz numai asupra grupului de celule A1:D2, specificat n codul macrocomenzii.

Aceast macrocomand este similar unei macrocomenzi nregistrate fr opiunea Use Relative References i din nou inutil dac ne dorim s o rulm ntr-un alt domeniu de celule.

SITUAIA 2

Se selecteaz butonul Visual Basic, aflat n fila Developer.

n fereastra Microsoft Visual Basic, click dreapta asupra proiectului curent i Insert Module.

Se tasteaz codul macrocomenzii.

S se realizeze o macrocomand care s formateze un domeniu selectat astfel:

Fundal rou;Font Georgia, dimensiune 16, culoare Alb.

! Macrocomanda ruleaz asupra oricrei celule / grup de celule.

Aceast macrocomand este similar unei macrocomenzi nregistrate cu opiunea Use Relative References, putnd fi aplicat n orice domeniu de celule.

Ex: Selectm domeniul de celule B5:C6 i rulm macrocomanda aici.

Asocierea de macrocomenzi, controalelor din foaia de lucru

INSERAREA UNUI CONTROL N FOAIA DE LUCRU 1. Se selecteaz butonul Insert aflat n fila Developer i se alege controlul dorit (buton de comanda, etichet, buton de opiune etc) .

2. Se plaseaz controlul pe foia de lucru cu tehnica drag& drop.

Control formularControl Active XEfectueaz o aciune atunci cnd un utilizator face click pe un control formular, atribuind controlului o macrocomand.Codul (VBA) prelucreaz toate evenimentele care se produc atunci cnd un utilizator interacioneaz cu un control ActiveX.ADUGAREA UNEI MACROCOMENZI PENTRU UN CONTROL FORMULAR 1. Dup ce controlul a fost inserat n foaia de lucru, se efectueaz click dreapta asupra acestuia i se alege opiunea Assign Macro.

2. n fereastra Assign Macro, se selecteaz macrocomanda care se dorete a fi atribuit controlului i se apas OK.3. La click asupra controlului din foaia de lucru, acesta va rula macrocomanda selectat anterior. Se selecteaz butonul Insert, aflat n fila Developer i se alege un buton de comand form control.

2. Se selecteaz butonul Use Rlative References, apoi butonul Record Macro; nacrocomanda se va denumi Retineri_calcul.

3. Se efectueaz paii de calcul a reinerilor i a salariului, n fiecare celul. S se creeze un buton de comand care s calculeze reinerile salariale, precum i salariul net , pornind de la tabelul urmtor:

Aplicaie propus

Se apas butonul Stop Recording.

Se efectueaz click dreapta asupra butonului inserat anterior i se alege opiunea Assign Macro.

Din lista de macrouri se alege macrocomanda Retineri_calcul i se apas butonul OK.

Oride cte ori vom avea nevoie s calculam reinerile salariale i salariul net al unui/mai multor angajai, vom selecta celula/celulele unde dorim calculul, apoi vom efectua click asupra butonului care va rula macrocomanda aefrent.

Calculul va fi realizabil indiferent de referinele celulelor, n cadrul unui tabel cu o structur similar.

Pentru a schimba textul afiat asupra butonului, se selecteaz i se apas butonul Design View, aflat n fila Developer.

Se efectueaz click dreapta asupra butonului i se alege opiunea Edit Text.

Se scrie noua denumire, de ex: Calculeaza si se apas Enter.

Realizm graficul ntr-un alt Sheet Excel, spre exemplu Sheet 2.

Se selecteaz butonul Insert, aflat n fila Developer i se alege un buton de comand form control.

Se selecteaz butonul Record Macro; nacrocomanda se va denumi Afisare_grafic.

4. Se selecteaz Sheet 2 (unde se afl graficul) i se apas butonul Stop Recording.

5. Se revine n Sheetul unde se afl butonul de comand anterior creat, se efectueaz click dreapta i se alege opiunea Assign Macro.

6. Din lista de macrocomenzi se alege Afisare_grafic. Pentru aplicaia anterioar, s se creeze un alt buton de comand care s afieze un grafic pe baza tabelului.

Aplicaie propus

ADUGAREA UNEI MACROCOMENZI PENTRU UN CONTROL ActiveX 1. Dup ce controlul ActiveX a fost inserat n foaia de lucru, se selecteaz i se apas butonul Design Mode aflat n fila Developer.2. n fila Developer, se selecteaz butonul Vizualizare cod apoi n Editor Visual Basic se scrie macrocomanda.3. La click asupra controlului din foaia de lucru, acesta va rula macrocomanda selectat anterior.

Realizm forma machetei de cutare.

Se selecteaz butonul Insert, aflat n fila Developer i se alege un buton de comand ActiveX.

Se selecteaz butonul, click dreapta asupra acestuia; se alege opiunea Command Button Object, iar apoi Edit.

Se seteaz butonul cu numele Afiseaza date angajat.

Pentru aplicaia anterioar, s se creeze un alt buton de comand care s afieze salariul brut al unui angajat, utiliznd o machet de cutare.

Aplicaie propus

Click dreapta asupra butonului Afiseaza date angajat i se selecteaz opiunea View Code.

n fereastra aprut, n editorul Visual Basic se tasteaz codul macrocomenzii.

Codul macrocomenzii conine sintaxa funciei Vlookup, cu aceeai parametrii care n mod normal ar fi setai de ctre utilizator.

7. Revenind n Sheetul Excel, utilizatorul tasteaz numele unui angajat, iar la click asupra butonului Afiseaza date angajat, va fi afiat valoarea salariului brut a acestuia.

1. Buchmann R., Lacurezeanu R. i colab., Bazele Informaticii Economice, Editura Risoprint, 2009, Cluj-Napoca, pag. 123-204

2. Curteanu S. Excel prin Exemple, Editura Polirom, 2004, pag. 93-94, 127, 205, 265- 320, 335-347

3. Ionescu Iuliana, Ionescu Bogdan i colab., Tehnologia aplicaiilor Office, Ed. Infomega, Bucureti, 2009, pag. 54-60, 89, 344-361

4. Johnson S., Microsoft Office Excel 2007, Editura Niculescu, Bucureti, 2009, pag. 267

5. Microsoft, Manual pentru uz colar, Microsoft Excel 2007, pag. 12, 67

6. Ghid de utilizare Microsoft Office 2007, pag.34-80, 85, 95-120, 154

7. http://office.microsoft.com/ro-ro/excel-help accesat la 20.12.2011

8. http://office.microsoft.com/ro-ro/training accesat la 20.12.2011

9. http://www.ecdl.org.ro/download.php?id_categ=4 accesat la 20.12.2011

BIBLIOGRAFIExzxzx39