Excel Macro Definition

Ce este un macro în Excel și când este folosit?

O macrocomandă Excel este un set de instrucțiuni de programare stocate în codul VBA, care poate fi utilizat pentru a elimina necesitatea de a repeta etapele sarcinilor care se desfășoară în mod obișnuit.

Aceste sarcini repetitive ar putea implica calcule complexe care necesită utilizarea formulelor sau ar putea fi simple sarcini de formatare - cum ar fi adăugarea formatării de numere la date noi sau aplicarea formatelor de celule și de foi de lucru cum ar fi marginile și umbrele.

Alte sarcini repetitive pentru care macro-urile pot fi utilizate pentru salvare includ:

Declanșarea unui macro

Macrourile pot fi declanșate de o comandă rapidă de la tastatură, o pictogramă a barei de instrumente sau un buton sau o pictogramă adăugată la o foaie de lucru.

Macrouri vs. Șabloane

În timp ce utilizați macrocomenzile poate fi un economizor de timp pentru sarcini repetitive, dacă adăugați în mod obișnuit anumite caracteristici de formatare sau conținut - cum ar fi titlurile sau logo-ul companiei în foi de lucru noi, este mai bine să creați și să salvați un fișier șablon care conține toate aceste elemente mai degrabă decât să le creați din nou de fiecare dată când începeți o nouă foaie de lucru.

Macro și VBA

După cum sa menționat, în Excel, macro-urile sunt scrise în Visual Basic for Applications (VBA). Macrograma folosind VBA se face în fereastra editorului VBA, care poate fi deschisă făcând clic pe pictograma Visual Basic din fila Developers a panglicii (vezi mai jos pentru instrucțiuni privind adăugarea fișierului Developers la panglică, dacă este necesar).

Macro Recorder de la Microsoft Excel

Pentru cei care nu pot scrie codul VBA, are un recorder macro încorporat care vă permite să înregistrați o serie de pași folosind tastatura și mouse-ul pe care Excel o convertește apoi în codul VBA pentru dvs.

La fel ca editorul VBA menționat mai sus, Recorderul macro este localizat în fila Developers ( Dezvoltatori ) a Panglicii.

Adăugând fila Dezvoltator

Implicit în Excel, fila Developer nu este prezentă pe Panglică. Pentru a adăuga:

  1. Faceți clic pe fila Fișier pentru a deschide lista verticală de opțiuni
  2. În lista derulantă, faceți clic pe Opțiuni pentru a deschide caseta de dialog Opțiuni Excel
  3. În panoul din partea stângă a casetei de dialog, dați clic pe Personalizați panglica pentru a deschide fereastra Personalizare panglică
  4. Sub secțiunea Taburi principale din fereastra din dreapta, faceți clic pe caseta de selectare de lângă Dezvoltator pentru a adăuga această filă în Panglică
  5. Faceți clic pe OK pentru a închide caseta de dialog și a reveni la foaia de lucru.

Programatorul ar trebui să fie acum prezent - de obicei în partea dreaptă a Panglicii

Utilizarea înregistratorului macro

Așa cum am menționat, Recorderul Macro simplifică sarcina de a crea macrocomenzi - chiar și uneori pentru cei care pot scrie codul VBA, dar există câteva puncte pe care să le cunoașteți înainte de a începe să utilizați acest instrument.

1. Planificați macroul

Înregistrarea macrocomenzilor cu înregistratorul macro implică un pic de curbă de învățare. Pentru a simplifica procesul, planificați înainte de timp - chiar până la punctul de a scrie ce este de făcut macro-ul și pașii care vor fi necesari pentru realizarea sarcinii.

2. Păstrați macrocomenzile mici și specifice

Cu cât este mai mare o macrocomandă în ceea ce privește numărul de sarcini pe care le îndeplinește, cu atât mai complicat va fi planificarea și înregistrarea cu succes.

Macroanele mai mari rulează și mai lent - mai ales cele care implică o mulțime de calcule în foi de lucru mari - și sunt mai greu de depanat și corect dacă nu funcționează corect prima dată.

Prin păstrarea macrocomenzilor mici și specifice în scop, este mai ușor să verificăm exactitatea rezultatelor și să vedem unde au mers prost dacă lucrurile nu merg așa cum era planificat.

3. Denumiți macrocomenzile corespunzător

Numele de macrocomenzi din Excel au mai multe restricții de numire care trebuie respectate. În primul rând, numele macro trebuie să înceapă cu o literă a alfabetului. Caracterele ulterioare pot fi numere, dar nume de macro nu pot include spații, simboluri sau semne de punctuație.

Nici un nume de macro nu poate conține niciunul dintre numeroasele cuvinte rezervate care fac parte din utilizările VBA ca parte a limbajului său de programare, cum ar fi If , GoTo , New sau Select .

În timp ce numele de macrocomenzi pot avea lungimi de până la 255 de caractere, rareori este necesar sau recomandabil să se utilizeze numeroasele nume.

Pentru unul, dacă aveți o mulțime de macrocomenzi și intenționați să le rulați din caseta de dialog pentru macro, numele lungi cauzează congestie, ceea ce face mai greu să alegeți macro-ul pe care îl urmați.

O abordare mai bună ar fi păstrarea numelor scurte și utilizarea zonei de descriere pentru a oferi detalii despre ceea ce face fiecare macro.

Subclasa și capitalizarea internă în nume

Deoarece nume de macrocomenzi nu pot include spații, un caracter care este permis și care face citirea mai ușoară a numelor de macro-uri, este caracterul de subliniere care poate fi folosit între cuvinte în locul unui spațiu - cum ar fi Change_cell_color sau Addition_formula.

O altă opțiune este folosirea capitalizării interne (uneori denumită Camel Case ), care începe fiecare cuvânt nou într-un nume cu o literă mare - cum ar fi ChangeCellColor și AdditionFormula.

Numele de macrocomenzi scurte sunt mai ușor de selectat în caseta de dialog pentru macro, mai ales dacă o foaie de lucru conține un număr de macrocomenzi și înregistrați o mulțime de macrocomenzi, astfel încât să le puteți identifica cu ușurință în. Sistemul oferă, de asemenea, un câmp pentru descriere, deși nu toată lumea o folosește.

4. Utilizați referințe relative de celule relative sau absolute

Referințele celulelor , cum ar fi B17 sau AA345, identifică locația fiecărei celule într-o foaie de lucru.

În mod implicit, în Macro Recorder toate referințele de celule sunt absolute ceea ce înseamnă că locațiile exacte ale celulelor sunt înregistrate în macro. În mod alternativ, macrocomenzile pot fi setate să utilizeze referințe de celule relative , ceea ce înseamnă că mișcările (câte coloane stânga sau dreapta mutați cursorul celulei) sunt înregistrate mai degrabă decât locațiile exacte.

Pe care o utilizați depinde de ceea ce macro-ul este setat să realizeze. Dacă doriți să repetați aceiași pași - cum ar fi formatarea coloanelor de date - de peste și peste, dar de fiecare dată când formatați diferite coloane într-o foaie de lucru, atunci ar fi adecvate utilizarea referințelor relative.

Dacă, pe de altă parte, doriți să formatați aceeași gamă de celule - cum ar fi A1 la M23 - dar pe diferite foi de lucru, atunci ar putea fi folosite referințe absolute ale celulelor, astfel încât de fiecare dată când macroul rulează, primul pas este să mutați cursorul celulei către celula A1.

Schimbarea referințelor de celule de la relativă la absolută se face ușor făcând clic pe pictograma Utilizare referințe relative din fila Dezvoltatori a panglicii.

5. Utilizarea tastelor de tastatură și a mouse-ului

A avea o apăsare de tastă a tastaturii de macro tastă atunci când se mișcă cursorul celulei sau se selectează o gamă de celule este, de obicei, preferabil ca mișcările mouse-ului să fie înregistrate ca parte a macrocomenzii.

Folosind combinații de taste de tastatură - cum ar fi Ctrl + End sau Ctrl + Shift + tasta Săgeată dreapta - pentru a muta cursorul celulei pe marginile zonei de date (acele celule conținând date în foaia de lucru curentă), mai degrabă decât apăsând repetat săgeata sau fila tastele pentru a muta mai multe coloane sau rânduri simplifică procesul de utilizare a tastaturii.

Chiar și atunci când vine vorba de aplicarea comenzilor sau selectarea opțiunilor de panglică folosind tastele de comenzi rapide de la tastatură este de preferat să utilizați mouse-ul.