Macro-uri utile pentru Word și Excel. Crearea de macrocomenzi în Microsoft Excel. Cum se creează funcții personalizate în VBA

Lucrul cu cărțile

Macro 1. Crearea unui nou registrul de lucru de la zero
Macro 2. Salvarea unui registru de lucru atunci când o anumită celulă/zonă este modificată
Macro 3. Salvarea registrului de lucru înainte de închidere
Macro 4. Protejarea unei foi de lucru într-un registru de lucru înainte de închidere
Macro 5. Deprotejarea unei foi la deschiderea unui fișier Excel
Macro 6. Deschideți un registru de lucru pe foaia dorită
Macro 7. Deschiderea unui anumit registru de lucru definit de utilizator
Macro 8. Stabiliți dacă cartea este deschisă
Macro 9. Stabiliți dacă o carte există într-un folder
Macro 10. Actualizați toate conexiunile din registrele de lucru deschise
Macro 11. Închideți toate cărțile simultan
Macro 12. Deschideți toate registrele de lucru dintr-un folder
Macro 13. Imprimați toate cărțile dintr-un folder
Macro 14. Nu permiteți închiderea cărții până când celula nu este umplută
Macrocomanda 15. Creați copie de rezervă cartea curentă cu data de azi

Lucrul cu foi

Macro 16. Adăugați o nouă foaie de lucru și atribuiți un nume
Macro 17. Ștergeți toate foile cu excepția celei active
Macro 18. Ascundeți totul, cu excepția foii de lucru active
Macro 19. Afișați toate foile registrului de lucru
Macro 20. Mutarea foilor de lucru
Macro 21. Sortarea foilor după nume
Macro 22. Grupați foile după culoarea etichetei
Macro 23. Copiați o foaie într-un registru de lucru nou
Macro 24. Creați un nou registru de lucru pentru fiecare foaie
Macro 25. Imprimarea foilor
Macro 26. Protejați toate foile
Macro 27. Deprotejați toate foile
Macro 28. Crearea unui cuprins
Macrocomanda 29: Faceți dublu clic pentru a mări o foaie de lucru
Macro 30. Selectați coloana rândului activ

Selectarea și modificarea intervalelor

Macro 31. Selectarea și formatarea unui interval
Macro 32. Crearea și selectarea intervalelor denumite
Macro 33. Enumerare folosind un număr de celule
Macro 34. Selectarea și formatarea intervalelor
Macro 35. Inserare linii goaleîn intervalul
Macro 36. Afișați toate linii ascunseși coloane
Macro 37. Eliminarea liniilor goale
Macro 38. Eliminarea coloanelor goale
Macro 39. Selectarea și formatarea tuturor formulelor din registrul de lucru
Macrocomanda 40: Găsiți și selectați primul rând sau coloană goală
Macro 41. Aplicați culoare de umplere suplimentară
Macro 42. Sortați intervalele prin dublu clic
Macro 43. Limitarea intervalului de defilare într-o anumită zonă
Macro 44. Setați automat zona de imprimare a foii

Lucrul cu date

Macro 45. Copiați și lipiți un interval
Macrocomanda 46: Convertiți toate formulele dintr-un interval în valori
Macro 47. Transform valorile textului la numeric
Macro 48. Transformarea unei liniuțe în minus
Macro 49. Șterge spatii suplimentare din toate celulele din interval
Macro 50. Tăiați 5 caractere din stânga în fiecare celulă a intervalului
Macrocomanda 51. Adăugați zerouri lipsă în celulă
Macrocomanda 52. Înlocuiți celulele goale cu zero
Macro 53. Adăugarea de text la începutul sau la sfârșitul unei celule
Macrocomanda 54. Crearea unei macrocomenzi de conversie a datelor
Macro 55. Ștergeți datele (caractere care nu se imprimă)
Macro 56. Selectați duplicate în intervalul de date
Macro 57. Ascunderea liniilor repetate
Macro 58. Ascundeți selectiv săgețile filtrului automat
Macrocomanda 59. Copiați rândurile filtrate într-un nou registru de lucru
Macro 60. Crearea unei noi foi pentru fiecare element din AutoFilter
Macro 61. Afișați coloanele filtrate în bara de stare

Lucrul cu tabelele pivot

Macro-comanda 62: Crearea compatibilităţii inverse masă rotativă
Macro 63. Actualizarea tuturor tabelelor pivot dintr-o carte
Macro 64. Crearea unui „inventar” al tuturor tabelelor pivot ale cărții
Macro-comanda 65. Creați toate tabelele pivot folosind același cache de date
Macrocomanda 66. Ascundeți toate subtotalurile din tabelul pivot
Macro 67. Modificați numele datelor tuturor câmpurilor rezumate
Macro 68. Însumare forțată pentru toate datele rezumate
Macro 69: Aplicați formatul numeric tuturor elementelor de date
Macro 70. Sortarea câmpurilor rezumate în ordine alfabetică
Macro 71. Aplicați sortare personalizată elementelor de date
Macro 72: Punerea protecției pe masa pivotantă
Macrocomanda 73: Aplicați constrângeri de câmp pivot
Macro 74. Îndepărtarea automată fișe cu detalii rezumative
Macro 75: Imprimați un tabel pivot pentru fiecare element de filtru
Macro 76. Creați un fișier nou pentru fiecare element de filtru
Macro 77. Pregătirea unui interval de date pentru un tabel pivot

Lucrul cu diagrame și grafice

Macro 78. Redimensionarea diagramelor pe o foaie de lucru
Macro 79. Conectarea diagramei la un interval specific
Macro 80: Crearea unui set de diagrame disjunse
Macro 81: Imprimați toate diagramele pe o foaie de lucru
Macro 82. Marcarea celor mai bune și cele mai proaste valori pe
Macro 83. Aceleași culori pentru valori pe diagrame diferite
Macro 84. Potrivirea culorii diagramelor cu culoarea intervalelor

Trimiterea de e-mailuri din Excel

Macro 85. Trimiterea unei cărți active prin poștă (atașament)
Macro 86: Trimiterea unui interval de valori ca atașament
Macro 87. Trimiterea unei foi ca atasament
Macro 88. Trimiteți un e-mail cu un link către fișierele noastre
Macro 89: Trimiterea de e-mailuri adăugând adrese la lista noastră de contacte
Macro 90. Salvarea tuturor atașamentelor într-un folder separat
Macro 91. Salvarea anumitor atașamente într-un folder

Interoperabilitate cu alte aplicații Office

Macro 92. Rularea unei cereri de acces din Excel



Macro 96. Compresie de bază Accesați datele din Excel
Macro 97. Trimitere date Excel la un document Word
Macro 98. Efectuarea unei îmbinări cu un document Word
Macro 99: Trimiterea datelor Excel la o prezentare PowerPoint
Macro 100. Trimitere Diagrame Excelîn prezentările PowerPoint
Macro 101: Conversia unui registru de lucru într-o prezentare PowerPoint

Interoperabilitate cu alte aplicații Office
învață să lucrezi cu Word, Access și PowerPoint
Macro 92. Rularea unei cereri de acces din Excel
Macro 93. Rularea unei macrocomenzi Access din Excel
Macro 94. Deschiderea unui raport Access din Excel
Macro 95. Deschiderea unui formular de acces din Excel

Obiectele precum macrocomenzile din Excel vă vor ajuta să organizați corect procesul de lucru în Excel.

Să aruncăm o privire mai atentă la toate caracteristicile de lucru cu aceste obiecte din pachetul software MS Office.

Datorită utilizării macrocomenzilor, fiecare celulă a documentului dumneavoastră poate fi automatizată. Acest lucru se întâmplă permițând utilizatorului să înregistreze toate acțiunile pe măsură ce sunt create.

Ce sunt macrocomenzile și de ce sunt necesare?

Puteți lucra cu macrocomenzi în oricare dintre programele MS Office. În primul rând, acestea sunt necesare pentru a organiza în mod competent munca utilizatorului în program.

Sunt necesare pentru a nu efectua același tip de sarcini și acțiuni de câteva zeci de ori.

Crearea și utilizarea lor va ajuta la economisirea semnificativă a timpului și la maximizarea automatizării robotului în program.

Important! Datorită macrocomenzii create, puteți pur și simplu să faceți treaba instantaneu, în timp ce efectuarea manuală ar dura mult timp.

Corpul său este alcătuit în esență din instrucțiuni care îi spun programului ce trebuie să facă dacă utilizatorii aleg una sau alta.

Puteți întâlni și conceptul de macrocomandă în Word, dar în Excel are câteva avantaje:

  • În primul rând, combină toate instrucțiunile într-un singur script de execuție complet, care vă permite să optimizați încărcarea programului și să începeți să lucrați mai rapid;
  • Îl puteți apela folosind o tastă din bara de instrumente sau folosind o combinație specială de taste. Acest lucru va permite utilizatorului să nu ridice privirea de la tastatură în timp ce lucrează;

Mai notăm două articole care potvei avea nevoie:

Crearea propriilor macrocomenzi în Excel 2010, 2007, 2013

Să aruncăm o privire mai atentă la exemplele de creare în Excel 2007, 2013:

  • Deschideți documentul cu care lucrați și pentru care doriți să creați o macrocomandă. Apropo, fiecare celulă pe care se efectuează o acțiune trebuie să fie elaborată;
  • Afișați fila dezvoltator în panglică. Pentru a face acest lucru, deschideți elementul de meniu „Fișier” și deschideți opțiunile, așa cum se arată în figură;

  • Apoi selectați setarea panglică și adăugați fereastra dezvoltatorului la lista ferestrelor principale, așa cum se arată în imaginea de mai jos;

  • Acum puteți trece direct la crearea macrocomenzii utilizator.
    După crearea acesteia, fiecare celulă va fi automatizată - asta înseamnă că orice celulă a documentului utilizatorului va efectua același tip de acțiune, pe care îl specifică utilizatorul;
  • Găsiți în fila pentru dezvoltatori cheie specială pentru a crea. Locația sa este prezentată în figura de mai jos;

  • Apăsați tasta . Va apărea o fereastră de creare în care trebuie să specificați un nume și o combinație de taste cu care va fi activată. De asemenea, puteți adăuga o scurtă descriere a modului în care funcționează macrocomanda.
    Acest lucru trebuie făcut dacă aveți prea multe dintre ele, pentru a nu vă încurca;

  • Apoi, faceți clic pe OK. Fereastra se va închide și procesul de înregistrare va începe. Pentru a opri înregistrarea, apăsați tasta corespunzătoare de pe panoul de control;

  • Acum începeți să efectuați acțiunile care vor fi înregistrate în macrocomandă. Fiecare celulă poate fi completată cu anumite date.
    De asemenea, puteți lucra cu o singură celulă după înregistrarea și activarea macro-ului, aceeași celulă va fi înregistrată conform algoritmului specificat;
  • Nu uitați să apăsați butonul de oprire a înregistrării datelor. După parcurgerea tuturor pașilor de mai sus, acesta va fi înregistrat și salvat în program.

Cum să activați și să lucrați cu macrocomenzi în Excel

Pentru a face acest lucru, urmați instrucțiunile de mai jos:

  • În fila pentru dezvoltatori, găsiți un buton numit Macro-uri. Apasa pe el;

  • Selectați macrocomanda de care aveți nevoie din listă și faceți clic pe butonul „Run”;

  • De asemenea, puteți rula macrocomanda necesară folosind comanda rapidă de la tastatură care a fost specificată de utilizator în etapa inițială a creării acesteia;
  • După ce faceți clic pe butonul de executare, toate acțiunile care au fost efectuate în timpul înregistrării vor fi efectuate din nou.

Macro-urile sunt cel mai convenabil de utilizat când celule specifice necesită copiere repetată.

Chiar dacă nu știți nimic despre VBA și macrocomenzi, veți fi inspirat să aflați mai multe după ce citiți câteva dintre trucurile și trucurile din această parte. Dacă abia începi să lucrezi cu macrocomenzi, poți găsi informații utile aici.

. .

În articolele anterioare, ați văzut cum Excel îi poate gestiona pe alții aplicații Microsoft precum Word și Outlook. Dar, în același timp, pot fi folosite și alte aplicații Management Excel. De exemplu, ați scris o macrocomandă pentru Word sau Access care creează un tabel Excel, îl umple cu date și apoi îl salvează. Excel nu trebuie neapărat să [...]

. .

Puteți folosi această tehnologie pentru a management Microsoft Outlook și trimite e-mailuri direct din foaia de calcul sau copiați intrările din caiet. Desigur, caracteristicile Excel sunt astfel încât e-mail tabelul va fi trimis, dar această metodă vă permite doar să trimiteți o parte din tabel. Pentru ca acest cod să funcționeze, trebuie să aveți […]

. .

Această metodă poate fi foarte utilă, de exemplu dacă ai document standard cu tabele pline cu macrocomenzi de date din tabele Excel. Puteți rula macrocomanda și datele vor fi transferate în tabelele din document Word. Recent am avut sarcina de a scrie un program pentru a completa un raport despre SLA (Service Level Agreement). Raportează […]

. .

Macro-urile sunt adesea folosite pentru a automatiza funcționarea aplicațiilor. Orice macrocomandă este o secvență de acțiuni înregistrate sub un anumit nume. Dacă atunci când lucrezi cu Microsoft Excel este necesar să efectuați aceeași secvență de operații de mai multe ori (de exemplu, formatarea complexă a celulei curente sau adăugarea linie nouă cu umplerea unora dintre celulele sale cu formule), apoi puteți nota aceste acțiuni și [...]

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?, vbYesNo) Dacă Răspuns = vbNu Apoi Ieșire Sub Dacă Răspuns = vbDa Apoi Aplicație.DisplayAlerts = Foaie de lucru fals.Delete Application.DisplayAlerts = True End If End If Next End With Sheets (Matrice). (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) .Fișele 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 el cearșafuri 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 "restaura starea initiala vizibilitatea fiecărei foi pentru fiecare iSht din ActiveWorkbook.Sheets iSht.Visible = oDict.Item(iSht.Name) Next Application.EnableEvents = True: Application.ScreenUpdating = True End Sub

Importați coloanele „Field1” și „Field2” din foaia „Sheet1” fisier Excel„C:\Manager.xls” prin conexiunea ADODB și inserarea conținutului pornind de la 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?

Macro in Microsoft Office(da, această funcționalitate funcționează la fel în multe aplicații ale suitei Microsoft Office) - asta este codul programuluiîntr-un limbaj de programare (VBA), salvat în document. Pentru a fi mai clar, un document Microsoft Office poate fi comparat cu Pagina HTML, atunci 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 din document Microsoft Birou.

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.
  • Îndeplini diverse operatii cu date numerice și text.
  • Utilizare surse externe date (fișiere 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 mult dosar obișnuit CSV. Acest masă simplă 10x20, umplut 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 am menționat deja, o macrocomandă este un cod scris în limbaj 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 ferestre 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.
  • Umplere 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 document Excelîntr-un format care acceptă macrocomenzi. În primul rând, trebuie să ștergem toate datele din tabelul pe care l-am creat, de exemplu. 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 Click dreapta mouse-ul după 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 cartea ca Șablon Excel macro-activat, 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 posibilitățile macro-ului pe care l-ați creat, cred că este corect să acordați atenție unui cuplu Puncte importante referitor la macro-uri î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. Daca ai setări standard securitate, apoi atunci când deschideți un fișier, va apărea un avertisment în partea de sus a tabelului care afirmă că rularea macrocomenzilor este dezactivată și un buton pentru a activa execuția lor. Din moment ce noi am făcut ș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 macro-ul nostru 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 transmisie corectă date într-un 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 sub formă de instrucțiuni limbaj 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 notate folosind înregistrare 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...

Imaginează-ți că al nostru dosarul original cu date 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.