Exemple de macrocomenzi pentru Excel. VBA Excel: exemple de programe. Macro-uri în Excel. Același lucru pentru toate celulele selectate

Fiecare utilizator a experimentat faptul că uneori în Excel nu există instrumente adecvate care să le satisfacă nevoile. Cu toată abundența de capabilități Excel, uneori este imposibil să automatizezi soluții la unele probleme, deoarece nu există limită pentru perfecțiune. Soluția ideală este de a permite utilizatorului să-și creeze propriile instrumente specifice. Macro-urile au fost create în acest scop.

Scrierea macrocomenzi în Excel

Codul macro Excel este scris în Visual Basic for Application (VBA) și executat de instrumentul de aplicație la care este atașat. Majoritatea acestor instrumente nu sunt disponibile la nivelul ferestrei Excel. Cum se scrie o macrocomandă.

Acum să demonstrăm cu un exemplu informații despre cum să scrieți, editați și executați codul macro.

Pentru a scrie o macrocomandă:


Nota. Dacă nu există nicio filă „DEVELOPER” în meniul principal, atunci aceasta trebuie activată în setări: „FIȘIER” - „Opțiuni” - „Personalizare panglică”. În lista din dreapta „File principale:”, bifați opțiunea „Dezvoltator” și faceți clic pe OK.



Capacitățile macro în Excel

Macro-urile vă permit să automatizați procesele de lucru cu documente și multe altele... Ele pot executa aproape simultan mii de instrumente într-o singură operațiune (chiar și cu un singur clic de mouse). Acest lucru extinde posibilitățile de lucru cu programul.

Folosind macrocomenzi, utilizatorul își poate crea propriul instrument, care îi lipsește în arsenalul Excel. De exemplu, când trebuie să selectați automat fiecare al doilea rând cu un singur clic. Sau trebuie să creați simultan un anumit număr de copii ale unei anumite foi de lucru. Lista nevoilor utilizatorilor pentru automatizarea proceselor de lucru poate fi continuată pe termen nelimitat.

Dacă nu ar fi posibil să se creeze macrocomenzi în toate programele incluse în pachetul MS Office. Utilizatorii ar trebui să efectueze manual multe operațiuni în timpul lucrului de rutină (selectați fiecare altă linie făcând clic pe fiecare al doilea titlu cu mouse-ul sau copiați și lipiți o foaie la un moment dat). Munca manuală, în cel mai bun caz, duce la pierderea unei cantități uriașe de timp și, în cel mai rău caz, duce la erori sau chiar la pierderea de date valoroase.

Abilitatea de a crea macrocomenzi și de a automatiza fluxurile de lucru vă salvează munca de timp pierdut și erori. În continuare, vom analiza cum să creați o macrocomandă care va efectua cu acuratețe și automat lucrările de rutină cu un singur clic. De asemenea, vom lua în considerare în ce locuri din registrul de lucru Excel puteți crea și stoca macrocomenzi. Cum să le lansați și să le executați, precum și cum să le optimizați cât mai mult posibil pentru a se potrivi nevoilor dvs.

Excel oferă un arsenal mare și abundent de instrumente pentru stocarea și procesarea unor cantități uriașe de informații de date. Deși pentru cel mai universal program analitic Excel, stocarea datelor în sine este mai puțin interesantă decât capacitatea de a le procesa, structura și analiza cu prezentare în rapoarte. În aceste scopuri, este utilizat cel mai puternic instrument de procesare a datelor analitice, cum ar fi „Tabelele pivot”. Dar poate fi îmbunătățit în continuare cu ajutorul macrocomenzilor. Și atunci posibilitățile tabelelor pivot nu cunosc limite.

Formatare condiționată (5)
Liste și intervale (5)
Macrocomenzi (proceduri VBA) (63)
Diverse (39)
Erori și erori Excel (4)

Ce este o macrocomandă și unde să o găsești?


Descărcați fișierul folosit în tutorialul video:

A ajutat articolul? Distribuie link-ul prietenilor tăi! Tutoriale video

("Bara de jos":("textstyle":"static","textpositionstatic":"bottom","textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft","textpositionmarginleft":24," textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"left","texteffectslidedistance" :30,"texteffectdelay":500,"texteffectseparate":false,"texteffect1":"slide","texteffectslidedirection1":"dreapta","texteffectslidedistance1":120,"texteffecteasing1":"easeOutCubic","texteffectduration1":600 ,"texteffectdelay1":1000,"texteffect2":"slide","texteffectslidedirection2":"dreapta","texteffectslidedistance2":120,"texteffecteasing2":"easeOutCubic","texteffectduration2":600,"texteffectdelay2,":1500,":1500, textcss":"display:block;text-align:left;","textbgcss":"display:absolute:#333333; ","titlecss":"display:block; poziție:relativă; font:bold 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; culoare:#fff;","descriptioncss":"display:block; poziție:relativă; font:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; culoare:#fff; margin-top:8px;","buttoncss":"display:block; poziție:relativă; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive":"font-size:12px;","descriptioncssresponsive":"display:none !important;","buttoncssresponsive": "","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40))

O macrocomandă este un program special scris în limbajul de programare Visual Basic for Application (VBA) încorporat în Excel. Dacă de multe ori trebuie să efectuați aceleași operațiuni în Excel, atunci este mult mai ușor să înregistrați o macrocomandă sau să găsiți un cod macro gata făcut pentru a efectua anumite acțiuni pe Internet.

În al doilea caz, veți găsi macro-ul sub formă de cod VBA. Aceasta este de obicei întrebarea: cum să adăugați o macrocomandă la o foaie de lucru Excel și cum să o utilizați.

Cum să activați macrocomenzi în Excel

Pentru a putea folosi macrocomenzi în munca dvs., mai întâi trebuie să le activați. Faceți clic pe butonul „Fișier” din colțul din stânga sus și selectați „Opțiuni” din listă.

În fereastra Opțiuni Excel, accesați „Personalizați panglica”, acum în partea dreaptă a ferestrei, bifați caseta de lângă „Dezvoltator” și faceți clic pe „OK”.

O nouă filă „Dezvoltator” va apărea în partea de sus a panglicii. Acesta va conține toate comenzile necesare pentru lucrul cu macrocomenzi.

Acum să activăm utilizarea tuturor macrocomenzilor. Deschideți „Fișier” din nou – „Opțiuni”. Accesați fila „Centrul de control al securității”, iar în partea dreaptă a ferestrei faceți clic pe butonul „Setări Centrului de încredere”.

Faceți clic pe filă „Opțiuni macro”, evidențiați elementul cu un marcator „Activați toate macrocomenzile”și faceți clic pe „OK”. Acum reporniți Excel: închideți programul și lansați-l din nou.

Cum se inserează o macrocomandă în Excel

Este important să înțelegeți că o macrocomandă poate fi inserată într-un modul, foaie de lucru, registru de lucru sau pot face parte dintr-un formular de utilizator.

Să introducem codul macro în modul

De exemplu, trebuie să îmbinați mai multe celule într-una singură fără a pierde date. După cum știți, Excel poate îmbina celule prin stocarea datelor doar din celula din stânga sus. Pentru a salva toate datele din celulele îmbinate, vom folosi codul VBA.

Deschideți editorul VBA: accesați fila „Dezvoltator” și faceți clic pe butonul „Visual Basic”, puteți utiliza și combinația „Alt+F11”.

În partea stângă a editorului, în fereastra „Proiect”, selectați registrul de lucru cu mouse-ul. Un registru de lucru este un document Excel deschis în care trebuie să inserați o macrocomandă. O numesc „Cartea 1”.

Faceți clic dreapta pe elementul selectat și selectați „Inserare” – „Modul” din meniu.

Un nou folder „Module” a apărut în fereastra „Proiect”, iar în el primul nostru modul numit „Module1”.

Un câmp pentru introducerea codului VBA va apărea în partea dreaptă. Folosind combinația „Ctrl+V”, lipesc în ea un cod care va îmbina mai multe celule fără a pierde date. Numele macrocomenzii „MergeCell”.

Urmăriți unde lipiți codul, acesta va fi scris fie în titlul editorului, fie în titlul ferestrei de inserare a codului. Introducem codul în modul, în consecință inscripția este „Modul1(Cod)”.

Salvați modificările apăsând combinația „Ctrl+S”. Dacă utilizați Excel 2007 sau o versiune ulterioară, va apărea o fereastră Salvare document. În el, în câmpul „Tip de fișier”, selectați din lista derulantă „Cartel de lucru Excel cu suport macro”și faceți clic pe „Salvați”.

Lipiți codul macro în foaia de lucru

De exemplu, avem o listă derulantă. Trebuie să vă asigurați că atunci când selectați mai multe valori din acesta, acestea apar în celulele din dreapta.

Deschideți editorul VBA și în fereastra „Proiect” selectați foaia dorită, dacă există mai multe dintre ele în registrul de lucru, pe care ar trebui să funcționeze macrocomanda: „Sheet1 (Sheet1)”. Faceți clic pe el de două ori cu mouse-ul.

O fereastră pentru introducerea codului va apărea în partea dreaptă. Vă rugăm să rețineți că inserăm codul în foaia de lucru, astfel încât titlul spune „Sheet1(Code)”. Salvați modificările aduse documentului așa cum este descris mai sus.

Pentru a introduce codul macro într-un registru de lucru, faceți dublu clic pe elementul „ThisBook” și inserați codul în zona care apare.

Să creăm o funcție personalizată

De exemplu, să creăm o funcție care va calcula TVA-ul. În fereastra „Proiect”, faceți clic dreapta pe foaia de lucru și selectați „Inserare” - „Modul”.

În folderul „Module”, apare un al doilea modul cu numele „Module2”. Introducem codul VBA în fereastra corespunzătoare și îl salvăm apăsând „Ctrl+S”. Funcția se va numi „NDS”.

Cum să rulați macrocomenzi în Excel

Acum să vedem cum sunt executate toate macrocomenzile create anterior într-un document Excel.

Dacă macro-ul a fost introdus în modul, apoi este lansat de utilizator. Am o astfel de macrocomandă care combină mai multe celule într-una singură fără a pierde date.

Selectați celulele care trebuie îmbinate, apoi accesați fila „Dezvoltator” și faceți clic pe butonul „Macrocomenzi”.

Se deschide caseta de dialog Macro. În listă, selectați numele macrocomenzii dorite: „MergeCell” și faceți clic pe „Run”.

Macro-ul este executat: celulele necesare sunt îmbinate și textul din ele este salvat.

Dacă macrocomanda a fost inserată în foaia de lucru, apoi va porni automat, în funcție de acțiunile utilizatorului. Macrocomanda mea adaugă valori dintr-o listă derulantă în celulele din dreapta. Codul conține intervalul de celule în care se află listele derulante.

Acum, când selectez o valoare din lista verticală, aceasta se încadrează în celulele situate în dreapta celulei care conține lista în sine. Aceasta indică faptul că macrocomanda rulează.

Dacă macro inserată în registrul de lucru, se efectuează și automat atunci când utilizatorul efectuează anumite acțiuni asupra cărții: o închide sau o salvează.

Dacă ați creat funcție personalizată, atunci trebuie introdus și în document ca funcție. Am o astfel de funcție pentru a calcula TVA-ul.

De exemplu, să-l aplicăm celulei A1, cu valoarea „100”. Selectați celula în care va fi introdus rezultatul. Apoi accesați fila „Formule” și apăsați butonul „Inserare funcție”.

Se va deschide o fereastră „Asistent de funcții”. În câmpul „Categorie”, selectați din lista verticală „Definit de utilizator”, în câmp „Selectați funcția” selectați numele din listă: „NDS”. Faceți clic pe „OK”.

Pentru a automatiza sarcinile repetitive în Microsoft Excel, puteți înregistra rapid o macrocomandă. Să presupunem că aveți date în formate diferite și doriți să aplicați același format tuturor. Acest lucru se poate face folosind o macrocomandă. Puteți înregistra o macrocomandă care aplică formatul dorit și apoi o puteți rula atunci când este necesar.

Când înregistrați o macrocomandă, sunt înregistrate toate acțiunile descrise în codul Visual Basic pentru aplicații (VBA). Aceste acțiuni pot include introducerea de text sau numere, clic pe celule sau comenzi din panglică sau meniu, formatarea celulelor, rândurilor sau coloanelor sau importarea datelor dintr-o sursă externă, cum ar fi Microsoft Access. O aplicație Visual Basic (VBA) este un subset al puternicului limbaj de programare Visual Basic care este inclus cu majoritatea aplicațiilor Office. Deși VBA oferă capacitatea de a automatiza procesele între aplicațiile Office, nu trebuie să cunoașteți codul VBA sau programarea software-ului dacă 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 acea acțiune. Î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 macrocomanda.

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 rulate într-o varietate de moduri, cum ar fi printr-o comandă rapidă de la tastatură, un grafic, o bară de instrumente cu 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, poate fi 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 se poate întinde pe 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.

    Accesați Setări > Excela... Bara de instrumente și > Panglici.

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.

Nota: 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.

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 utilizând 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 alegeț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 Acces rapid sau 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.

Mai multe informații

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

Puțini oameni știu că prima versiune a popularului produs Microsoft Excel a apărut în 1985. De atunci, a trecut prin mai multe modificări și este solicitat de milioane de utilizatori din întreaga lume. În același timp, mulți oameni lucrează doar cu o mică parte din capacitățile acestui procesor de foi de calcul și nici nu realizează cum capacitatea de a programa în Excel le-ar putea face viața mai ușoară.

Ce este VBA

Programarea în Excel se realizează folosind limbajul de programare Visual Basic for Application, care a fost integrat inițial în cel mai faimos procesor de foi de calcul de la Microsoft.

Experții atribuie ușurința relativă de a învăța avantajelor sale. După cum arată practica, chiar și utilizatorii care nu au abilități profesionale de programare pot stăpâni elementele de bază ale VBA. Caracteristicile VBA includ execuția de scripturi într-un mediu de aplicații de birou.

Dezavantajul programului este problemele asociate cu compatibilitatea diferitelor versiuni. Acestea apar deoarece codul programului VBA accesează funcționalitatea care este prezentă în noua versiune a produsului, dar nu și în versiunea veche. De asemenea, dezavantajele includ deschiderea excesiv de mare a codului pentru modificarea de către un străin. Cu toate acestea, Microsoft Office, precum și IBM Lotus Symphony permit utilizatorului să cripteze codul inițial și să seteze o parolă pentru a-l vizualiza.

Obiecte, colecții, proprietăți și metode

Acestea sunt conceptele care trebuie să fie înțelese de cei care urmează să lucreze în mediul VBA. În primul rând, trebuie să înțelegeți ce este un obiect. În Excel, aceste funcții sunt foaie, registru de lucru, celulă și interval. Aceste obiecte au o ierarhie specială, adică. se supune unul altuia.

Principala este Aplicația, care corespunde programului Excel în sine. Apoi vin caietele de lucru, foile de lucru și intervalul. De exemplu, pentru a accesa celula A1 dintr-o anumită foaie de lucru, trebuie să specificați o cale care ia în considerare ierarhia.

În ceea ce privește conceptul de „colecție”, acesta este un grup de obiecte din aceeași clasă, care în intrare are forma ChartObjects. Elementele sale individuale sunt, de asemenea, obiecte.

Următorul concept este proprietățile. Sunt o caracteristică necesară a oricărui obiect. De exemplu, pentru Interval este Valoare sau Formula.

Metodele sunt comenzi care indică ceea ce trebuie făcut. Când scrieți cod în VBA, acestea trebuie separate de obiect printr-un punct. De exemplu, așa cum se va arăta mai târziu, foarte des atunci când programați în Excel, este folosită comanda Cells(1,1).Select. Înseamnă că trebuie să selectați o celulă cu coordonate

Selection.ClearContents este adesea folosit împreună cu acesta. Executarea acestui lucru înseamnă ștergerea conținutului celulei selectate.

Cum să începeți

Apoi trebuie să accesați aplicația VB, pentru care trebuie doar să utilizați combinația de taste „Alt” și „F11”. Următorul:

  • în bara de meniu situată în partea de sus a ferestrei, faceți clic pe pictograma de lângă pictograma Excel;
  • selectați comanda Mudule;
  • salvați făcând clic pe pictograma cu imaginea;
  • ei scriu, să zicem, o schiță de cod.

Arata cam asa:

Subprogram()

„Codul nostru

Vă rugăm să rețineți că linia „Codul nostru” va fi evidențiată într-o culoare diferită (verde). Motivul este apostroful plasat la începutul rândului, ceea ce indică faptul că urmează un comentariu.

Acum puteți scrie orice cod și puteți crea un instrument nou pentru dvs. în VBA Excel (vezi exemple de programe de mai jos). Desigur, va fi mult mai ușor pentru cei care sunt familiarizați cu elementele de bază ale Visual Basic. Cu toate acestea, chiar și cei care nu le au se pot obișnui suficient de repede dacă doresc.

Macro-uri în Excel

Acest nume ascunde programele scrise în Visual Basic for Application. Astfel, programarea în Excel înseamnă crearea de macro-uri cu codul necesar. Datorită acestei caracteristici, procesorul de foi de calcul Microsoft se dezvoltă singur, adaptându-se la cerințele unui anumit utilizator. După ce v-ați dat seama cum să creați module pentru scrierea macrocomenzilor, puteți începe să vă uitați la exemple specifice de programe Excel VBA. Cel mai bine este să începeți cu cele mai simple coduri.

Exemplul 1

Sarcină: scrieți un program care va copia valoarea conținutului unei celule și apoi îl va scrie în alta.

Pentru a face acest lucru:

  • deschide fila „Vizualizare”;
  • accesați pictograma „Macro-uri”;
  • faceți clic pe „Înregistrați macrocomandă”;
  • completați formularul care se deschide.

Pentru simplitate, lăsați „Macro1” în câmpul „Nume macro” și introduceți, de exemplu, hh în câmpul „Comandă rapidă de la tastatură” (aceasta înseamnă că puteți lansa programul cu comanda rapidă „Ctrl+h”). Apăsați Enter.

Acum că înregistrarea macro a început deja, conținutul unei celule este copiat în alta. Reveniți la pictograma originală. Faceți clic pe „Înregistrați macrocomandă”. Această acțiune înseamnă sfârșitul programului.

  • reveniți la linia „Macro-uri”;
  • selectați „Macro 1” din listă;
  • faceți clic pe „Run” (aceeași acțiune este lansată prin pornirea combinației de taste „Ctrl+hh”).

Ca urmare, are loc acțiunea care a fost efectuată în timpul înregistrării macrocomenzii.

Este logic să vedem cum arată codul. Pentru a face acest lucru, reveniți la linia „Macro-uri” și faceți clic pe „Schimbare” sau „Autentificare”. Drept urmare, ei se regăsesc în mediul VBA. De fapt, codul macro în sine este situat între liniile Sub Macro1() și End Sub.

Dacă s-a efectuat copierea, de exemplu, din celula A1 în celula C1, atunci una dintre liniile de cod va arăta ca Interval(„C1”). Selectați. Tradus, arată ca „Range(“C1”). Selectați”, cu alte cuvinte, merge la VBA Excel, la celula C1.

Partea activă a codului este completată de comanda ActiveSheet.Paste. Înseamnă scrierea conținutului celulei selectate (în acest caz A1) în celula selectată C1.

Exemplul 2

Buclele VBA vă ajută să creați diverse macrocomenzi în Excel.

Buclele VBA vă ajută să creați diverse macrocomenzi. Să presupunem că avem o funcție y=x + x 2 + 3x 3 - cos(x). Trebuie să creați o macrocomandă pentru a obține graficul acesteia. Acest lucru se poate face numai folosind bucle VBA.

Valorile inițiale și finale ale argumentului funcției sunt luate ca x1=0 și x2=10. În plus, trebuie să introduceți o constantă - valoarea pentru pasul de schimbare a argumentului și valoarea inițială pentru contor.

Toate exemplele de macrocomandă Excel VBA sunt create folosind aceeași procedură ca cea prezentată mai sus. În acest caz particular, codul arată astfel:

Subprogram()

pas = 0,1

Faceți în timp ce x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Celule(i, 1).Valoare = x1 (valoarea x1 este scrisă în celula cu coordonatele (i,1))

Cells(i, 2).Value = y (valoarea y este scrisă în celula cu coordonatele (i,2))

i = i + 1 (contorul este în vigoare);

x1 = x1 + shag (argumentul se schimbă cu valoarea pasului);

End Sub.

Ca urmare a rulării acestei macrocomenzi în Excel, obținem două coloane, prima dintre care conține valorile pentru x, iar a doua pentru y.

Apoi se construiește un grafic din ele într-un mod standard pentru Excel.

Exemplul 3

Pentru a implementa bucle în VBA Excel 2010, ca și în alte versiuni, împreună cu construcția Do While deja dată, se folosește For.

Luați în considerare un program care va crea o coloană. În fiecare dintre celulele sale se vor scrie pătratele numărului de rând corespunzător. Utilizarea constructului For vă va permite să o scrieți foarte scurt, fără a utiliza un contor.

Mai întâi trebuie să creați o macrocomandă așa cum este descris mai sus. Apoi scriem codul în sine. Presupunem că suntem interesați de valorile pentru 10 celule. Codul arată așa.

Pentru i = 1 până la 10 În continuare

Comanda este tradusă în limbaj „uman” prin „Repetați de la 1 la 10 în pași de unu”.

Dacă sarcina este de a obține o coloană cu pătrate, de exemplu, a tuturor numerelor impare din intervalul de la 1 la 11, atunci scriem:

Pentru i = 1 până la 10 pasul 1 În continuare.

Aici pasul este un pas. În acest caz, este egal cu doi. În mod implicit, absența acestui cuvânt în ciclu înseamnă că pasul este unic.

Rezultatele obţinute trebuie salvate în celule numerotate (i,1). Apoi, de fiecare dată când bucla este pornită, cu i crescând cu un pas, numărul liniei va crește automat. În acest fel codul va fi optimizat.

În general, codul va arăta astfel:

Subprogram()

Pentru i = 1 la 10 Pasul 1 (puteți scrie pur și simplu Pentru i = 1 la 10)

Celule(i, 1).Valoare = i ^ 2 (adică valoarea pătratului i este scrisă în celula (i,1)

Următorul (într-un fel joacă rolul unui contor și înseamnă un alt început al buclei)

End Sub.

Dacă totul este făcut corect, inclusiv înregistrarea și rularea macro-ului (a se vedea instrucțiunile de mai sus), atunci când o apelați, de fiecare dată veți obține o coloană de dimensiunea specificată (în acest caz, constând din 10 celule).

Exemplul 4

În viața de zi cu zi, de multe ori apare nevoia de a lua una sau alta decizie în funcție de o anumită condiție. Nu te poți descurca fără ele în VBA Excel. Exemplele de programe în care cursul ulterioară de execuție a algoritmului este ales mai degrabă decât inițial predeterminat, folosesc cel mai adesea construcția If ...Then (pentru cazuri complexe) If ...Then ...END If.

Să luăm în considerare un caz concret. Să presupunem că trebuie să creați o macrocomandă pentru Excel, astfel încât următoarele să fie scrise în celula cu coordonatele (1,1):

1 dacă argumentul este pozitiv;

0 dacă argumentul este nul;

-1 dacă argumentul este negativ.

Crearea unei astfel de macrocomenzi pentru Excel începe în mod standard, prin utilizarea tastelor rapide Alt și F11. În continuare se scrie următorul cod:

Subprogram()

x= Celule(1, 1).Valoare (această comandă atribuie x valoarea conținutului celulei la coordonatele (1, 1))

Dacă x>0, atunci Cells(1, 1).Valoare = 1

Dacă x=0, atunci Cells(1, 1).Valoare = 0

Dacă x<0 Then Cells(1, 1).Value = -1

End Sub.

Tot ce rămâne este să rulați macrocomanda și să obțineți valoarea necesară pentru argument în Excel.

Funcții VBA

După cum probabil ați observat deja, programarea în cel mai faimos procesor de foi de calcul Microsoft nu este atât de dificilă. Mai ales dacă înveți cum să folosești funcțiile VBA. În total, acest limbaj de programare, creat special pentru scrierea aplicațiilor în Excel și Word, are aproximativ 160 de funcții. Ele pot fi împărțite în mai multe grupuri mari. Acest:

  • Funcții matematice. Aplicându-le argumentului, obțin valoarea cosinusului, logaritmului natural, părții întregi etc.
  • Funcții financiare. Datorită disponibilității acestora și utilizând programarea Excel, puteți obține instrumente eficiente pentru calcule contabile și financiare.
  • Funcții de procesare a matricei. Acestea includ Array, IsArray; LBound; UBound.
  • Funcții Excel VBA pentru șir. Acesta este un grup destul de mare. Aceasta include, de exemplu, funcțiile Space pentru a crea un șir cu numărul de spații egal cu argumentul întreg sau Asc pentru a converti caracterele în cod ANSI. Toate sunt utilizate pe scară largă și vă permit să lucrați cu rânduri în Excel, creând aplicații care facilitează foarte mult lucrul cu aceste tabele.
  • Funcții de conversie a tipurilor de date. De exemplu, CVar returnează valoarea argumentului Expression transformându-l în tipul de date Variant.
  • Funcții pentru lucrul cu date. Acestea le extind semnificativ pe cele standard. Astfel, funcția WeekdayName returnează numele (complet sau parțial) al zilei săptămânii după numărul său. Și mai util este Timer. Oferă numărul de secunde care au trecut de la miezul nopții până la un anumit punct al zilei.
  • Funcții pentru conversia unui argument numeric în diferite sisteme numerice. De exemplu, Oct produce numere în octal.
  • Funcții de formatare. Cel mai important dintre ele este Formatul. Returnează o valoare Variant cu o expresie formatată conform instrucțiunilor specificate în declarația de format.
  • etc.

Studierea proprietăților acestor funcții și aplicarea lor va extinde în mod semnificativ domeniul de aplicare al Excel.

Exemplul 5

Să încercăm să trecem la rezolvarea unor probleme mai complexe. De exemplu:

Se oferă un document pe hârtie care raportează nivelul real al costurilor întreprinderii. Necesar:

  • dezvoltați partea de șablon folosind foaia de calcul Excel;
  • creați un program VBA care va solicita date inițiale pentru a le completa, efectuați calculele necesare și completați cu ele celulele șablon corespunzătoare.

Să luăm în considerare una dintre opțiunile de soluție.

Creați un șablon

Toate acțiunile sunt efectuate pe o foaie standard în Excel. Celulele libere sunt rezervate pentru introducerea datelor despre numele companiei de consum, valoarea costurilor, nivelul acestora și cifra de afaceri. Deoarece numărul de companii (companii) pentru care se întocmește raportul nu este fix, celulele pentru introducerea valorilor pe baza rezultatelor și numele specialistului nu sunt rezervate în avans. Foaia de lucru primește un nou nume. De exemplu, „rapoarte”.

Variabile

Pentru a scrie un program care să completeze automat un șablon, trebuie să selectați notațiile. Acestea vor fi folosite pentru variabile:

  • NN - numărul rândului curent al tabelului;
  • TP și TF - cifra de afaceri comercială planificată și efectivă;
  • SF și SP - valoarea efectivă și planificată a costurilor;
  • IP și IF - nivelul planificat și efectiv al costurilor.

Să notăm acumularea totalului pentru această coloană folosind aceleași litere, dar cu „prefixul” Itog. De exemplu, ItogTP - se referă la coloana din tabel intitulată „cifra de afaceri planificată”.

Rezolvarea unei probleme folosind programarea VBA

Folosind notațiile introduse, obținem formule pentru abateri. Dacă trebuie să calculați în %, avem (F - P) / P * 100, iar în total - (F - P).

Rezultatele acestor calcule pot fi introduse cel mai bine direct în celulele corespunzătoare din tabelul Excel.

Pentru totalurile reale și prognozate, acestea sunt obținute folosind formulele ItogP=ItogP + P și ItogF=ItogF+ F.

Pentru abateri utilizați = (ItogF - ItogP) / ItogP * 100 dacă calculul se efectuează în procente, iar în cazul unei valori totale - (ItogF - ItogP).

Rezultatele sunt din nou scrise imediat în celulele corespunzătoare, deci nu este nevoie să le atribuiți variabilelor.

Înainte de a rula programul creat, trebuie să salvați registrul de lucru, de exemplu, sub numele „Report1.xls”.

Butonul „Creați tabel de raportare” trebuie apăsat o singură dată după introducerea informațiilor din antet. Există și alte reguli pe care ar trebui să le cunoașteți. În special, butonul „Adăugați rând” trebuie să fie apăsat de fiecare dată după introducerea valorilor pentru fiecare tip de activitate în tabel. După ce ați introdus toate datele, trebuie să faceți clic pe butonul „Terminare” și apoi să comutați la fereastra Excel.

Acum știi cum să rezolvi problemele Excel folosind macrocomenzi. Abilitatea de a utiliza vba excel (vezi exemplele de programe de mai sus) poate fi necesară și pentru a funcționa în cel mai popular editor de text în acest moment, Word. În special, puteți crea butoane de meniu scriind, așa cum se arată chiar la începutul articolului, sau scriind cod, datorită căruia multe operațiuni asupra textului pot fi efectuate prin apăsarea tastelor de serviciu sau prin fila „Vizualizare” și pictograma „Macro-uri”.

  • Serghei Savenkov

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