Cum să automatizezi sarcinile de rutină în Excel folosind macrocomenzi. Muncă eficientă în MS Office

Pentru a automatiza sarcinile repetitive, puteți înregistra o macrocomandă folosind Macro Recorder din Microsoft Excel. Imaginați-vă că aveți date în formate aleatorii și doriți să aplicați un singur format tuturor. Acest lucru se poate face folosind o macrocomandă. Puteți înregistra o macrocomandă folosind formatul dorit și puteți reda macro-ul dacă este necesar.

Când înregistrați o macrocomandă, toate acțiunile necesare sunt înregistrate ca cod Visual Basic pentru aplicații (VBA). Aceste acțiuni pot include introducerea de text sau numere, selectarea celulelor sau comenzilor din panglică sau meniu, formatarea celulelor, rândurilor sau coloanelor și chiar importarea datelor dintr-o sursă externă, cum ar fi Microsoft Access. Visual Basic pentru aplicații (VBA) face parte din limbajul de programare Visual Basic. Este disponibil în majoritatea aplicațiilor Office. Deși VBA vă permite să automatizați procesele din cadrul și între aplicațiile Office, nu este necesar să puteți programa sau să cunoașteți limbajul VBA, deoarece macro recorderul face tot ce aveți nevoie.

Este important să știți că atunci când înregistrați o macrocomandă, aproape tot ceea ce faceți este înregistrat. Deci, dacă faceți o greșeală, cum ar fi apăsarea butonului greșit, macro recorder-ul va înregistra acțiunea respectivă. În acest caz, puteți scrie din nou întreaga secvență sau puteți modifica codul VBA. Prin urmare, înainte de a înregistra procesul, ar trebui să îl rezolvați bine. Cu cât înregistrați mai precis secvența, cu atât mai eficient va funcționa macro-ul.

Dezvoltator, care este ascuns în mod implicit, așa că trebuie să îl activați mai întâi. Pentru mai multe informații, consultați Afișare fila Dezvoltator.

Înregistrați o macrocomandă

Pe fila Dezvoltator clic Macro-uri pentru a vizualiza macrocomenzile asociate cu registrul de lucru. Alternativ, puteți apăsa tastele ALT+F8. Aceasta va deschide o casetă de dialog Macro.


Atenţie:

Aflați despre setările de securitate macro și semnificația acestora.

Macro-urile pot fi executate într-o varietate de moduri, cum ar fi printr-o comandă rapidă de la tastatură, un grafic, o bară de instrumente Acces rapid, un buton sau chiar la deschiderea unui registru de lucru.

Puteți utiliza Editorul Visual Basic pentru a edita macrocomenzi care sunt atașate unui registru de lucru.

    atribuiți macro.

    În câmp Atribuiți macrocomandă

Aflați cum să activați sau să dezactivați macrocomenzi în fișierele Office.

Apăsați tastele ALT+F11.

Lucrul cu codul înregistrat în Editorul Visual Basic (VBE)

Cu Visual Basic Editor (VBE), puteți adăuga propriile variabile, structuri de control și alte elemente la codul înregistrat pe care macro recorderul nu le acceptă. Deoarece reportofonul macro captează aproape fiecare pas efectuat în timpul înregistrării, este posibil să fie necesar să eliminați și codul inutil. Revizuirea codului înregistrat este o modalitate excelentă de a învăța programarea VBA sau de a vă perfecționa abilitățile.

Un exemplu de modificare a codului înregistrat poate fi găsit în articolul Noțiuni de bază cu VBA în Excel.

Înregistrați o macrocomandă

Înainte de a înregistra macrocomenzi, este util să știți următoarele:

    O macrocomandă scrisă pentru a funcționa cu un interval Excel va rula numai pe celulele din acel interval. Prin urmare, dacă adăugați un nou rând în interval, macrocomanda nu se va aplica acestuia.

    Dacă trebuie să înregistrați o secvență lungă de sarcini, vă recomandăm să utilizați mai multe macrocomenzi mai mici.

    O macrocomandă poate conține și sarcini non-Excel. Procesul macro poate acoperi alte aplicații Office și alte programe care acceptă Visual Basic pentru aplicații (VBA). De exemplu, puteți înregistra o macrocomandă care actualizează mai întâi un tabel în Excel și apoi deschide Outlook pentru a-l trimite prin e-mail.

Macro-urile și instrumentele VBA sunt situate în filă Dezvoltator, care este ascuns în mod implicit, așa că trebuie să îl activați mai întâi.

    Selectați excela > Opțiuni> Bandă și panou.

Pentru a înregistra o macrocomandă, urmați instrucțiunile de mai jos.

Lucrul cu macrocomenzi înregistrate în Excel

Pe fila Dezvoltator clic Macro-uri pentru a vizualiza macrocomenzile asociate cu registrul de lucru. Aceasta va deschide o casetă de dialog Macro.

Notă: Macrocomenzile nu pot fi anulate. Înainte de a rula o macrocomandă înregistrată pentru prima dată, salvați sau creați o copie a registrului de lucru pentru a preveni modificările nedorite. Dacă nu sunteți mulțumit de rezultatele macrocomenzii, puteți închide registrul de lucru fără a-l salva.

Iată mai multe informații despre lucrul cu macrocomenzi în Excel.

Aflați cum să activați sau să dezactivați macrocomenzi în Excel pentru Mac.

Pentru a economisi timp în sarcinile repetate frecvent, puteți înregistra secvența corespunzătoare de acțiuni ca macrocomandă. Aflați cum să creați și să rulați macrocomenzi.

Dacă un registru de lucru conține o macrocomandă VBA pe care doriți să o utilizați în altă parte, puteți copia modulul într-un alt registru de lucru folosind Microsoft Visual Basic Editor.

Atribuirea unei macrocomenzi unui obiect, formă sau element grafic

    Într-o foaie de lucru, faceți clic dreapta pe obiectul, imaginea, forma sau elementul căruia doriți să îi atribuiți o macrocomandă existentă, apoi selectați atribuiți macro.

    În câmp Atribuiți macrocomandă selectați macrocomanda pe care doriți să o atribuiți.

Puteți să atribuiți o macrocomandă unei pictograme și să o adăugați la Bara de instrumente de acces rapid sau la Panglică.

Puteți atribui macrocomenzi formularelor și controalelor ActiveX dintr-o foaie de lucru.

Deschiderea editorului Visual Basic

Pe fila Dezvoltator clic Visual Basic sau selectați Serviciu > Macro > Editor Visual Basic.

Aflați cum să găsiți ajutor pentru elementele Visual Basic.

Informații suplimentare

Puteți oricând să puneți o întrebare de la Comunitatea Excel Tech, să cereți ajutor în comunitatea Răspunsuri sau să sugerați o nouă funcție sau îmbunătățire a site-ului

Macro pentru evidențierea celulei A1 pe fiecare foaie din registrul de lucru activ. Acest lucru face, de asemenea, să se miște ecranul.

Sub A1SelectionEachSheet() Dim i As Integer Application.ScreenUpdating = False For i = 1 To Sheets.Count Sheets(i).Select ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 1 Range("a1").Select Next Sheets(1) .Selectați aplicația.ScreenUpdating = True End Sub

Macro pentru copierea foii curente de un anumit număr de ori. Util pentru testarea unor macrocomenzi - editări făcute, verificate pe o copie a datelor. Am rămas fără copii — rulați macrocomanda din nou

Sub SimpleCopy() Dim i As Integer, j As Integer i = Application.InputBox("Introduceți numărul de copii ale foii curente") Application.ScreenUpdating = False Pentru j = 1 To i ActiveSheet.Copy after:=Sheets(Sheets) .Count) ActiveSheet .Name = „Copy” & j Next j Application.ScreenUpdating = True End Sub

Creați foi cu titluri dintr-un interval specificat pe o foaie

Sub CreateFromList() Dim cell As Range for each cell In Selection Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = cell.Value Celula următoare End Sub

Markros pentru că a trimis o scrisoare cu întârziere. Macrocomandă modificată din cartea lui John Walkenbach Programming VBA profesional

Sub SendLetter() Dim OutApp ca obiect Dim OutMail ca obiect Set OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon La eroare GoTo cleanup Set OutMail = OutApp.CreateItem(0) La eroare Reluați Next With OutMail .To = " [email protected]" .Subject = "Raport de vânzări" .Atașamente.Add "C:\Test.txt" .Body = "Text e-mail" .DeferredDeliveryTime = Înlocuire(Data, ".", "/") & " 11:00:00 " .send ".Afișează pentru a genera o scrisoare și a o deschide End With On Error GoTo 0 Set OutMail = Nimic curățare: Set OutApp = Nothing End Sub

Macro-cuprins ușor modificată de la Nikolai Pavlov.
Dacă o foaie „Cuprins” există deja în carte, macrocomandă vă solicită să o ștergeți. Dacă nu, creează o foaie „Cuprins” și inserează legături cu numele foilor

Sub TableOfContent() Dim sheet As Worksheet Dim cell As Range Dim Answer As Integer Application.ScreenUpdating = False Cu ActiveWorkbook Pentru fiecare foaie de lucru din ActiveWorkbook.Worksheets Dacă Worksheet.Name = "Cuprins" Apoi Răspuns = MsgBox("Cartul de lucru are un foaie cu numele Cuprins. Ștergeți-o?", vbYesNo) Dacă Răspuns = vbNu Apoi Ieșiți Sub Dacă Răspuns = vbDa Apoi Application.DisplayAlerts = False Worksheet.Delete Application.DisplayAlerts = True End If End If Next End With Sheets(Array) (1)).Selectați foi.Adăugați foi (1).Nume = „Cuprins” cu ActiveWorkbook Pentru fiecare foaie din ActiveWorkbook.Worksheets Dacă foaia.Nume<>„Cuprins” Apoi Setați celulă = Foi de lucru(1).Cellule(foaia.Index, 1) .Foile de lucru(1).Hyperlinkuri.Adăugați ancora:=celulă, Adresă:="", SubAdresă:=""" și foaie .Nume și celulă """ & "!A1".Formulă = foaie.Nume Sfârșit dacă foaia următoare Se termină cu rânduri ("1:1").Delete Application.ScreenUpdating = True End Sub

Sortarea foilor din vrăjitorii VBA. Macro-ul sortează și foile ascunse. Nu va funcționa dacă cartea are o structură protejată

Sub SORT_ALL_SHEETS() Application.ScreenUpdating = False: Application.EnableEvents = False Dim iSht As Worksheet, oDict As Object, i%, j% Set oDict = CreateObject("Scripting.Dictionary") " amintiți-vă starea de vizibilitate a fiecărei foi și faceți totul vizibil pentru fiecare iSht din ActiveWorkbook.Sheets oDict.Item(iSht.Name) = iSht.Visible: iSht.Visible = True Next With ActiveWorkbook " sortarea foilor vizibile Pentru i = 1 To .Sheets.Count - 1 Pentru j = i + 1 La .Sheets.Count Dacă UCase(.Sheets(i).Name) > UCase(.Sheets(j).Name) Apoi .Sheets(j).Move Before:=.Sheets(i) Next j Next i End With " restabiliți starea de vizibilitate inițială a fiecărei foi pentru fiecare iSht din ActiveWorkbook.Sheets iSht.Visible = oDict.Item(iSht.Name) Next Application.EnableEvents = True: Application.ScreenUpdating = True End Sub

Importarea coloanelor „Field1” și „Field2” din foaia „Sheet1” din fișierul Excel „C:\Manager.xls” prin conexiune ADODB și inserarea conținutului începând din celula A1 a foii curente

Excel are o capacitate puternică, dar rar folosită, de a crea secvențe automate de acțiuni folosind macrocomenzi. O macrocomandă este o soluție ideală dacă aveți de-a face cu același tip de sarcină care se repetă de mai multe ori. De exemplu, prelucrarea datelor sau formatarea documentelor folosind un șablon standardizat. În același timp, nu aveți nevoie de cunoștințe de limbaje de programare.

Ești deja curios ce este o macro și cum funcționează? Apoi mergeți mai departe cu îndrăzneală - apoi vom parcurge întregul proces de creare a unui macro pas cu pas împreună cu dvs.

Ce este o macro?

O macrocomandă în Microsoft Office (da, această funcționalitate funcționează la fel în multe aplicații din suita Microsoft Office) este un cod de program într-un limbaj de programare (VBA) salvat în interiorul unui document. Pentru a fi mai clar, un document Microsoft Office poate fi comparat cu o pagină HTML, apoi o macrocomandă este un analog cu Javascript. Ce poate face Javascript cu datele HTML dintr-o pagină web este foarte asemănător cu ceea ce poate face o macrocomandă cu datele dintr-un document Microsoft Office.

Macro-urile pot efectua aproape orice acțiune pe care o doriți într-un document. Iată câteva dintre ele (o parte foarte mică):

  • Aplicați stiluri și formatare.
  • Efectuați diverse operații cu date numerice și text.
  • Utilizați surse de date externe (fișiere de baze de date, documente text etc.)
  • Creați un document nou.
  • Efectuați toți pașii de mai sus în orice combinație.

Crearea unei macrocomenzi - Exemplu practic

De exemplu, să luăm cel mai obișnuit fișier CSV. Acesta este un tabel simplu de 10x20 plin cu numere de la 0 la 100 cu titluri pentru coloane și rânduri. Sarcina noastră este să transformăm acest set de date într-un tabel formatat prezentabil și să generăm totaluri pe fiecare rând.

După cum sa menționat deja, o macrocomandă este un cod scris în limbajul de programare VBA. Dar în Excel puteți crea un program fără a scrie o linie de cod, ceea ce vom face chiar acum.

Pentru a crea o macrocomandă, deschideți Vedere(Vizualizare) > Macro-uri(Macro-uri) > Înregistrare macro(Înregistrați o macrocomandă...)

Dați macrocomenzii un nume (fără spații) și faceți clic Bine.

Din acest moment, TOATE acțiunile tale cu documentul sunt înregistrate: modificări de celulă, derularea tabelului, chiar schimbarea dimensiunii ferestrei.

Excel semnalează că modul de înregistrare macro este activat în două locuri. În primul rând, în meniu Macro-uri(Macro) – în loc de o linie Înregistrare macro A apărut linia (Înregistrare macro...). Opriți înregistrarea(Opriți înregistrarea).

În al doilea rând, în colțul din stânga jos al ferestrei Excel. Pictogramă Stop(pătrat mic) indică faptul că modul de înregistrare macro este activat. Făcând clic pe el, înregistrarea va fi oprită. În schimb, când modul de înregistrare nu este activat, există o pictogramă în acest loc pentru a activa înregistrarea macro. Făcând clic pe acesta, se va da același rezultat ca și activarea înregistrării prin meniu.

Acum că modul de înregistrare macro este activat, să trecem la sarcina noastră. Mai întâi de toate, să adăugăm anteturi pentru datele rezumate.

  • =SUMA(B2:K2) sau =SUMA(B2:K2)
  • =MEDIE(B2:K2) sau =MEDIE(B2:K2)
  • =MIN(B2:K2) sau =MIN(B2:K2)
  • =MAX(B2:K2) sau =MAX(B2:K2)
  • =MEDIANĂ(B2:K2) sau =MEDIANĂ(B2:K2)

Acum selectați celulele cu formule și copiați-le pe toate rândurile tabelului nostru trăgând mânerul de completare automată.

Odată ce acest pas este finalizat, totalurile corespunzătoare ar trebui să apară în fiecare rând.

Respectiv:

  • =SUMA(L2:L21) sau =SUMA(L2:L21)
  • =MEDIE(B2:K21) sau =MEDIE(B2:K21)– pentru a calcula această valoare, este necesar să luăm exact datele originale din tabel. Dacă luați media mediilor pentru rânduri individuale, rezultatul va fi diferit.
  • =MIN(N2:N21) sau =MIN(N2:N21)
  • =MAX(O2:O21) sau =MAX(O2:O21)
  • =MEDIANĂ(B2:K21) sau =MEDIANĂ(B2:K21)– calculăm folosind datele inițiale din tabel pentru motivul menționat mai sus.

Acum că am terminat cu calculele, să trecem la formatare. Mai întâi, să setăm același format de afișare a datelor pentru toate celulele. Selectați toate celulele de pe foaie folosind comanda rapidă de la tastatură Ctrl+A, sau faceți clic pe pictogramă Selectează tot, care se află la intersecția titlurilor rândurilor și coloanelor. Apoi apasa Stil virgulă(Format delimitat). Acasă(Acasă).

  • Stilul de font aldine.
  • Alinierea la centru.
  • Umpleți cu culoare.

Și, în sfârșit, să setăm formatul valorilor totale.

Iată cum ar trebui să arate în final:

Dacă sunteți mulțumit de toate, opriți înregistrarea macro-ului.

Felicitări! Tocmai ați înregistrat singur prima macrocomandă Excel.

Pentru a utiliza macrocomanda creată, trebuie să salvăm documentul Excel într-un format care acceptă macrocomenzi. În primul rând, trebuie să ștergem toate datele din tabelul pe care l-am creat, adică. fă-l un șablon gol. Faptul este că în viitor, lucrând cu acest șablon, vom importa cele mai recente și mai relevante date în el.

Pentru a șterge toate celulele de date, faceți clic dreapta pe pictogramă Selectează tot, care se află la intersecția titlurilor rândurilor și coloanelor, iar din meniul contextual selectați elementul Șterge(Șterge).

Acum foaia noastră este complet șters de toate datele, în timp ce macro-ul rămâne înregistrat. Trebuie să salvăm registrul de lucru ca șablon Excel activat cu macro care are extensia XLTM.

Punct important! Dacă salvați fișierul cu extensia XLTX, atunci macro-ul nu va funcționa în ea. Apropo, puteți salva registrul de lucru ca șablon Excel 97-2003, care are formatul XLT, acceptă și macrocomenzi.

Odată ce șablonul este salvat, puteți închide Excel în siguranță.

Rularea unei macrocomenzi în Excel

Înainte de a dezvălui toate capacitățile macrocomenzii pe care le-ați creat, cred că este corect să acordați atenție la câteva puncte importante referitoare la macrocomenzi în general:

  • Macro-urile pot fi dăunătoare.
  • Citiți din nou paragraful anterior.

Codul VBA este foarte puternic. În special, poate efectua operații asupra fișierelor din afara documentului curent. De exemplu, o macrocomandă poate șterge sau modifica orice fișier dintr-un folder Documentele mele. Din acest motiv, rulați și permiteți numai macrocomenzi din surse în care aveți încredere.

Pentru a rula macrocomanda noastră de formatare a datelor, deschideți fișierul șablon pe care l-am creat în prima parte a acestui tutorial. Dacă aveți setări standard de securitate, atunci când deschideți un fișier, va apărea un avertisment deasupra tabelului care indică faptul că rularea macrocomenzilor este dezactivată și un buton pentru a activa execuția lor. Din moment ce noi am realizat șablonul și avem încredere în noi, apăsăm butonul Activați conținut(Includeți conținut).

Următorul pas este să importați cel mai recent set de date actualizat din fișier CSV(am creat macrocomandă pe baza unui astfel de fișier).

Când importați date dintr-un fișier CSV, Excel vă poate solicita să configurați unele setări pentru a transfera corect datele în tabel.

Când importul este complet, accesați meniul Macro-uri fila (Macrocomenzi). Vedere(Vizualizare) și selectați comanda Vizualizați macrocomenzi(Macro-uri).

În caseta de dialog care se deschide, vom vedea o linie cu numele macrocomenzii noastre Formatare date. Selectați-l și faceți clic Alerga(Alerga).

Când macro-ul începe să ruleze, veți vedea cursorul tabelului sărind de la o celulă la alta. După câteva secunde, se vor efectua aceleași operații cu datele ca la înregistrarea macro-ului. Când totul este gata, tabelul ar trebui să arate la fel ca originalul pe care l-am formatat manual, doar cu date diferite în celule.

Să ne uităm sub capotă: Cum funcționează o macro?

După cum sa menționat de mai multe ori, o macrocomandă este un cod de program într-un limbaj de programare Visual Basic pentru aplicații(VBA). Când activați modul de înregistrare macro, Excel înregistrează de fapt fiecare acțiune pe care o faceți ca instrucțiuni în VBA. Mai simplu spus, Excel scrie codul pentru tine.

Pentru a vedea acest cod de program, trebuie să mergeți la meniu Macro-uri fila (Macrocomenzi). Vedere(Vizualizare) faceți clic Vizualizați macrocomenzi(Macro) și în caseta de dialog care se deschide, faceți clic Editați | ×(Schimbare).

Se va deschide o fereastră Visual Basic pentru aplicații, în care vom vedea codul de program al macrocomenzii pe care am înregistrat-o. Da, ați înțeles bine, aici puteți schimba acest cod și chiar puteți crea o nouă macrocomandă. Acțiunile pe care le-am efectuat cu tabelul din această lecție pot fi înregistrate folosind înregistrarea automată macro în Excel. Dar macrocomenzile mai complexe, cu o secvență și o logică a acțiunilor bine reglate, necesită programare manuală.

Să mai adăugăm un pas sarcinii noastre...

Imaginați-vă că fișierul nostru de date original date.csv este creat automat de un proces și este întotdeauna salvat pe disc în același loc. De exemplu, C:\Data\data.csv– calea către fișierul cu datele actualizate. Procesul de deschidere a acestui fișier și import de date din acesta poate fi, de asemenea, înregistrat într-o macrocomandă:

  1. Deschideți fișierul șablon în care am salvat macro-ul - Formatare date.
  2. Creați o nouă macrocomandă numită Incarca date.
  3. În timpul înregistrării unei macrocomenzi Incarca date importați date din fișier date.csv- așa cum am făcut în partea anterioară a lecției.
  4. Când importul este complet, opriți înregistrarea macrocomenzii.
  5. Eliminați toate datele din celule.
  6. Salvați fișierul ca șablon Excel cu suport macro (extensie XLTM).

Astfel, prin rularea acestui șablon, aveți acces la două macrocomenzi - una încarcă date, cealaltă le formatează.

Dacă doriți să intrați în programare, puteți combina acțiunile acestor două macrocomenzi într-una singură - pur și simplu prin copierea codului din Incarca date până la începutul codului Formatare date.

Macrocomenzile Microsoft Excel pot accelera semnificativ lucrul cu documente în acest editor de foi de calcul. Acest lucru se realizează prin automatizarea acțiunilor repetitive scrise în cod special. Să vedem cum să creați macrocomenzi în Excel și cum pot fi editate.

O macrocomandă poate fi înregistrată în două moduri:

  • automat;
  • manual.

Folosind prima opțiune, pur și simplu înregistrați anumite acțiuni în Microsoft Excel pe care le efectuați la un moment dat. Apoi, puteți reda această înregistrare. Această metodă este foarte ușoară și nu necesită cunoștințe de cod, dar utilizarea sa în practică este destul de limitată.

Înregistrarea manuală a macrocomenzilor, dimpotrivă, necesită cunoștințe de programare, deoarece codul este tastat manual de la tastatură. Dar codul scris corect în acest fel poate accelera semnificativ execuția proceselor.

Înregistrare macro automată

Înainte de a începe înregistrarea automată a macrocomenzilor, aveți nevoie.

Se deschide fereastra de setări de înregistrare macro. Aici puteți specifica orice nume de macrocomandă dacă cel implicit nu vi se potrivește. Principalul lucru este că numele începe cu o literă și nu cu un număr. De asemenea, titlul nu trebuie să conțină spații. Am lăsat numele implicit – „Macro1”.

Aici, dacă doriți, puteți seta o combinație de taste care, atunci când este apăsată, va lansa macro-ul. Prima tastă trebuie să fie tasta Ctrl, iar utilizatorul setează a doua tastă independent. De exemplu, am setat tasta M ca exemplu.

Apoi, trebuie să determinați unde va fi stocată macrocomanda. În mod implicit, va fi stocat în același registru de lucru (fișier), dar, dacă doriți, puteți seta stocarea într-un registru de lucru nou sau într-un registru de lucru macro separat. Vom lăsa valoarea implicită.

În câmpul cu cele mai mici setări pentru macrocomandă, puteți lăsa orice descriere a macrocomenzii care este potrivită pentru context. Dar, acest lucru nu este necesar.

Când toate setările sunt finalizate, faceți clic pe butonul „OK”.

După aceasta, toate acțiunile dvs. din acest registru de lucru Excel (fișier) vor fi înregistrate într-o macrocomandă până când opriți înregistrarea.

De exemplu, să notăm cea mai simplă operație aritmetică: adăugarea conținutului a trei celule (=C4+C5+C6).

După aceea, faceți clic pe butonul „Opriți înregistrarea”. Acest buton a fost convertit din butonul „Înregistrare macrocomandă” după ce înregistrarea a fost activată.

Rularea unei macrocomenzi

Pentru a verifica cum funcționează macrocomanda înregistrată, faceți clic în același bloc de instrumente „Cod” pe butonul „Macrocomenzi” sau apăsați combinația de taste Alt+F8.

După aceasta, se deschide o fereastră cu o listă de macrocomenzi înregistrate. Căutăm macrocomanda pe care am înregistrat-o, o selectăm și facem clic pe butonul „Run”.

O poți face și mai simplu și nici măcar să nu apelezi fereastra de selecție macro. Ne amintim că am notat o combinație de „taste rapide” pentru a apela rapid o macrocomandă. În cazul nostru, acesta este Ctrl+M. Tastam această combinație pe tastatură, după care rulează macro-ul.

După cum puteți vedea, macro-ul a efectuat exact toate acțiunile care au fost înregistrate mai devreme.

Editarea unei macrocomenzi

Pentru a edita macrocomandă, faceți clic din nou pe butonul „Macrocomenzi”. În fereastra care se deschide, selectați macrocomanda dorită și faceți clic pe butonul „Editați”.

Se deschide Microsoft Visual Basic (VBE), mediul în care sunt editate macrocomenzi.

Fiecare înregistrare macro începe cu comanda Sub și se termină cu comanda End Sub. Imediat după comanda Sub este numele macrocomenzii. Operatorul „Range(“…”). Select specifică selecția celulei. De exemplu, comanda „Range(“C4”). Select selectează celula C4. Operatorul „ActiveCell.FormulaR1C1” este folosit pentru a înregistra acțiuni în formule și pentru alte calcule.

Să încercăm să schimbăm puțin macro-ul. Pentru a face acest lucru, adăugați următoarea expresie la macrocomandă:

Interval("C3").Selectați
ActiveCell.FormulaR1C1 = „11”

Expresia „ActiveCell.FormulaR1C1 = „=R[-3]C+R[-2]C+R[-1]C”” va fi înlocuită cu „ActiveCell.FormulaR1C1 = „= R[-4]C+R [-3]C+R[-2]C+R[-1]C"".

Închideți editorul și rulați macrocomandă ca înainte. După cum puteți vedea, datorită modificărilor introduse, a fost adăugată o altă celulă cu date. A fost inclus și în calculul sumei totale.

Dacă macro-ul este prea mare, finalizarea poate dura mult timp. Dar făcând o modificare manuală a codului, putem accelera procesul. Adăugați comanda „Application.ScreenUpdating = False”. Va economisi putere de calcul și, prin urmare, va accelera munca. Acest lucru se realizează prin neîmprospătarea ecranului în timp ce acțiunile de calcul sunt în desfășurare. Pentru a relua actualizarea după executarea macro-ului, la sfârșitul acesteia scriem comanda „Application.ScreenUpdating = True”

Să adăugăm, de asemenea, comanda „Application.Calculation = xlCalculationManual” la începutul codului și să adăugăm „Application.Calculation = xlCalculationAutomatic” la sfârșitul codului. Făcând acest lucru, la începutul macro-ului dezactivăm recalcularea automată a rezultatului după fiecare schimbare de celulă, iar la sfârșitul macro-ului o activăm. În acest fel, Excel va calcula rezultatul o singură dată, în loc să-l recalculeze constant, ceea ce va economisi timp.

Scrierea codului macro de la zero

Utilizatorii avansați nu pot doar să editeze și să optimizeze macrocomenzile înregistrate, ci și să scrie codul macro de la zero. Pentru a începe, trebuie să faceți clic pe butonul „Visual Basic”, care se află chiar la începutul panglicii dezvoltatorului.

După aceasta, se deschide fereastra familiară a editorului VBE.

Programatorul scrie manual codul macro acolo.

După cum puteți vedea, macrocomenzile din Microsoft Excel pot accelera semnificativ execuția proceselor de rutină și monotone. Dar, în cele mai multe cazuri, macrocomenzile codificate manual sunt mai potrivite pentru aceasta decât acțiunile înregistrate automat. În plus, codul macro poate fi optimizat prin editorul VBE pentru a accelera procesul de execuție a sarcinilor.

Manualul conține macrocomenzi pe următoarele subiecte:
Rularea unei macrocomenzi pentru a căuta o celulă.
Rulați o macrocomandă când deschideți un registru de lucru.
Rulați o macrocomandă când introduceți „2” în celulă.
Rulați o macrocomandă când apăsați Enter.
Adăugați propria filă „Suplimente” (Format celulă) la panou.
Lucrul cu fișiere (adică schimbul de date cu TXT, RTF, XLS etc.).
Verificarea prezenței unui fișier la calea specificată.
Căutați fișierul necesar.
Automatizarea ștergerii fișierelor.
Text liber în bara de stare.
Restabilirea barei de stare.
Linie târâtoare în bara de stare.

Schimbați rapid titlul ferestrei.
Schimbarea titlului ferestrei (ascunderea numelui fișierului).
Reveniți la titlul original.
Ce este deschis în acest moment.
Lucrul cu fișiere text.
Scrierea și citirea unui fișier text.
Procesarea mai multor fișiere text.
Determinarea sfârșitului unei linii într-un fișier text.
Copierea dintr-un fișier text în Excel.

Copiați conținutul într-un fișier text.
Exportați datele în txt.
Exportați datele în html.
Importați date care necesită mai mult de 256 de coloane.
Creați copii de rezervă ale fișierelor valoroase.
Numărarea de câte ori a fost deschis un fișier.
Ieșiți calea fișierului către celula activă.
Copierea conținutului unui fișier RTF în Excel.
Copierea datelor dintr-un registru de lucru închis.
Extragerea datelor dintr-un fișier închis.
Căutați un cuvânt în fișiere.
Creați un fișier text și introduceți text în fișier.
Creați un fișier text și introduceți text (sfârșitul detectării fișierului).
Creați documente Word pe baza unui tabel Excel.
Comenzi pentru crearea și ștergerea directoarelor.
Obțineți directorul curent.
Schimbați directorul.

Vizualizați toate fișierele dintr-un director.
Vizualizați toate fișierele dintr-un director.
Spațiu de lucru Microsoft Excel.
Caiet de lucru.
Numărul de nume de caiete de lucru.
Protecția caietului de lucru.
Interzicerea tipăririi cărților.
Deschiderea unei cărți (sau fișiere text).
Deschideți cartea și adăugați text în celula A1.
Câte cărți sunt deschise?
Închiderea tuturor cărților.
Închiderea unui registru de lucru numai atunci când este îndeplinită o condiție.
Salvează registrul de lucru cu un nume care reprezintă data curentă.
Este salvat registrul de lucru?
Creați un registru de lucru cu o singură foaie.
Creați o carte.
Eliminarea numelor inutile.
Reproducerea rapidă a unui registru de lucru.
Sortarea foilor.
Găsirea valorii maxime pe toate foile registrului de lucru.
Fisa de lucru.
Verificarea dacă foaia de lucru este protejată.
Lista de foi sortate.
Creați o foaie nouă.
Creați o foaie nouă.
Îndepărtarea foilor în funcție de dată.
Copierea unei foi într-o carte.
Copierea unei foi într-un registru de lucru nou (creat).
Mutarea unei foi într-o carte.
Mutați mai multe foi într-un nou registru de lucru.
Înlocuiți un fișier existent.
„Răsturnând” cartea.
Introduceți un antet și un subsol cu ​​numele registrului de lucru, foaia și data curentă.
Foaia există?
Foaia există?
Afișează numărul de foi din registrul de lucru activ.
Afișează numărul de foi din registrul de lucru activ sub formă de hyperlinkuri.
Afișează numele foilor active unul câte unul.
Afișează numele și numerele foilor cărții curente.
Faceți foaia invizibilă.
Câte pagini sunt pe toate foile?
Celulă și interval (coloane și rânduri).
Copiați rândurile pe altă foaie.
Copiați coloanele pe altă foaie.
Numărează numărul de celule care conțin valorile specificate.
Numărează numărul de celule dintr-un interval care conține valorile specificate.
Contorizează numărul de celule vizibile dintr-un interval.
Determinarea numărului de celule dintr-un interval și a sumei valorilor acestora.
Numărarea numărului de celule.
Recalcularea automată a datelor din tabel atunci când valorile acestuia se schimbă.
Introducerea datelor în celule.
Introducerea datelor folosind formule.
Intrare de date seriale.
Introducerea datelor text în celule.
Afișează numele cărții, foaia și numărul de foi din celule.
Eliminarea liniilor goale.
Eliminarea liniilor goale.
Eliminarea liniilor goale.
Ștergerea unui rând după condiție.
Eliminarea rândurilor ascunse.
Eliminați rândurile ascunse sau cu înălțimea zero.
Eliminarea duplicatelor folosind o mască.

Selectează un interval deasupra celulei curente.
Selectați o celulă și plasați un număr acolo.
Evidențierea valorilor negative.
Selectarea unui interval și utilizarea adreselor absolute.

Selectarea celulelor la intervale.
Selectarea mai multor intervale.
Mișcarea prin celule.
Găsește cea mai apropiată celulă goală dintr-o coloană.
Găsirea valorii maxime.
Căutați și înlocuiți după model.
Căutați o valoare și afișați rezultatul într-o fereastră separată.

Căutați cu evidențierea datelor găsite.
Căutați după condiție într-un interval.
Găsește ultima celulă negoală dintr-un interval.
Găsește ultima celulă care nu este goală dintr-o coloană.
Găsește ultima celulă care nu este goală dintr-un rând.
Căutați o celulă albastră într-un interval.
Găsirea unei valori negative într-un interval și evidențierea acesteia în albastru.
Găsirea prezenței unei valori într-o coloană.
Găsirea potrivirilor într-un interval.
Căutați o celulă dintr-un interval.
Căutați o celulă dintr-un interval.
Găsirea unei valori aproximative într-un interval.
Găsește începutul și sfârșitul unui interval care conține date.
Găsirea începutului datelor.
Înlocuirea automată a valorilor.
Umplerea rapidă a unui interval (matrice).
Umplerea prin interval (matrice).
Completează intervalul specificat (matrice).
Umpleți intervalul (matrice).
Calculul sumei primelor valori ale intervalului.
Plasarea într-o celulă a unui ceas electronic.
"Alarma".
Proiectarea limitelor superioare și inferioare ale gamei.
Adresa celulei active.
Coordonatele celulei active.
Formula de celule active.
Obținerea unei formule dintr-o celulă.
Tipul de date al celulei.
Ieșiți adresa de la sfârșitul intervalului.
Obținerea de informații despre intervalul selectat.
Luați cuvântul cu al 13-lea caracter din celulă.
Crearea unei liste editabile (tabel).
Verificați valoarea goală.
Intersecția celulelor.
Înmulțirea intervalului selectat cu.
Înmulțiți simultan toate datele dintr-un interval.
Împărțiți gama în.
Punerea la pătrat a fiecărei celule din interval.
Rezumă datele numai din celulele vizibile.
Suma celulelor cu valori numerice.
La însumare, cursorul se află în interiorul intervalului.

Dobânzi acumulate în funcție de sumă.
Dobânzi acumulate în funcție de sumă.
Exemplu rezumat de calcul al comisionului.
Mișcare de-a lungul intervalului.
Offset față de celula selectată.
Iterați prin celule în jos pe coloană.
Crearea unui interval de umplere.
Selectarea unui parametru de celulă.
Divizarea intervalului.
Îmbinați datele intervalului.
Îmbinați datele intervalului.
Aflați coloana sau rândul maxim.
Limitarea posibilelor valori ale intervalului.
Testarea vitezei intervalelor de citire și scriere.
Deschideți MsgBox când este selectată o celulă.
Ascunzând un rând.
Ascunderea mai multor rânduri.
Ascunderea unei coloane.
Ascunderea mai multor coloane.
Ascunderea unui rând după numele celulei.
Ascunderea mai multor rânduri după adresele celulelor.
Ascunderea unei coloane după numele celulei.
Ascunderea mai multor coloane după adresele celulelor.
Celula intermitent.
Lucrul cu note.
Afișează toate notele din foaia de lucru.
Funcția de extragere a comentariilor.
Lista de note pentru foile protejate.

Lista de note într-o listă separată.
Lista de note într-o listă separată.

Numărarea numărului de note.
Numărarea notelor.
Selectați celulele cu comentarii.
Afișează toate notele.
Schimbați culoarea notelor.
Adăugarea de note.
Adăugarea de note la un interval în funcție de condiție.
Mutați un comentariu într-o celulă și înapoi.

Transferarea valorilor dintr-o celulă într-un comentariu.
File personalizate pe panglică.
Adăugarea barei de instrumente.
Adăugarea unui buton la bara de instrumente.
Panoul cu un singur buton.
Panou cu două butoane.
Crearea unui panou în dreapta.

Crearea unui meniu personalizat (opțiunea 1).
Crearea unui meniu personalizat (opțiunea 2).
Crearea unui meniu personalizat (opțiunea 3).
Crearea unui meniu personalizat (opțiunea 4).
Crearea unui meniu personalizat (opțiunea 5).
Crearea unui meniu personalizat (opțiunea 6).
Crearea unei liste de elemente din meniul principal Excel.
Crearea unei liste de elemente din meniul contextual.
Afișați bara de instrumente într-o anumită condiție.
Ascunderea și afișarea barelor de instrumente.
Creați un sfat pentru butoanele mele.
Creați un meniu bazat pe datele din foaia de lucru.
Crearea unui meniu contextual.
Blocarea meniului contextual.
Adăugarea unei comenzi în meniul Instrumente.
Adăugarea unei comenzi în meniul Vizualizare.
Crearea unui panou de listă.
Un desen animat cu un asistent.
Adăugați text, titlu, buton și pictogramă la asistent.
Noi opțiuni de asistent.
Utilizarea asistentului pentru a selecta o culoare de umplere.
DIALOG WINDOWS.
Funcția INPUTBOX (prin introducerea valorii).
Previzualizare apel.
Configurarea introducerii datelor în caseta de dialog.

Deschide caseta de dialog (Deschide fișier).
Deschide caseta de dialog (Imprimare).
Alte casete de dialog.
Apelarea browserului din Excel.
Caseta de dialog pentru introducerea datelor.
Caseta de dialog pentru setările fontului.
Valori implicite.
Formatarea textului. Mese. BORNIERE ȘI UMPLEARE.
Afișează o listă de fonturi disponibile.
Selectarea tuturor numerelor din text.
Scrieți cu majuscule doar la începutul textului.
Numărarea numărului de repetări ale textului de căutare.
Selectarea unui element arbitrar din text.
Afișează textul înapoi.
Textul în limba engleză este cu majuscule.
Lansarea unui tabel de simboluri din Excel.
informații despre utilizator, computer, imprimantă etc.
Obțineți numele de utilizator.
Ieșire de rezoluție a monitorului.
Obțineți informații despre imprimanta pe care o utilizați.
Vizualizați informații despre unitățile computerului dvs.
FORME DE UTILIZATOR.
DIAGRAME.
Construirea unei diagrame folosind o macrocomandă.
Salvarea diagramei într-un fișier separat.
Creați și ștergeți o diagramă cu un clic pe un buton.
Afișați o listă de diagrame într-o fereastră separată.
Aplicarea unei palete de culori aleatorii.
Efectul de transparență a graficului.
Construiți o diagramă pe baza datelor din mai multe foi de lucru.
Creați legende pentru datele diagramei.
DIFERITE PROGRAME.
Program pentru compunerea cuvintelor încrucișate.
Creați o copertă pentru DVD.
Jocul „Câmp minat”.
Jocul „Ghicește animalul”.
Calcul bazat pe celule de o anumită culoare.
ALTE FUNCȚII ȘI MACRO.
Apelarea tastelor funcționale.
Calculul mediei aritmetice.
Transformarea numerelor în „bani”.
Căutați cea mai apropiată zi de luni.
Numărarea numărului de ani întregi.
Calculul mediei ponderate.
Convertirea numărului lunii în numele său.
Folosind link-uri relative.
Conversia unui tabel Excel în format HTML.
Generator de numere aleatorii.
Numere aleatorii - bazate pe interval.
Aplicarea unei funcții fără a o introduce într-o celulă.
Numărarea obiectelor numite.
Activarea unui filtru automat folosind o macrocomandă.
Crearea unei linii târâtoare.
Crearea unei imagini care rulează.
Autoforme rotative.
Apelarea tabelului de culori.
Crearea unui calculator.
Declinarea numelui, prenumelui și patronimului.
DATA SI ORA.
Data și ora de ieșire.
Data și ora de ieșire.
Obținerea datei sistemului.
Se preia data și orele.
Funcția DateFull Versiunea de MS Office utilizată nu este specificată.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva