Crearea macro-uri și funcții definite de utilizator pe VBA

Cu toții avem - cineva mai puțin, cineva mai probabil - să repete aceleași acțiuni și operații în Excel. Orice loc de muncă de birou implică unele „componentă de rutină“ - aceleași rapoarte săptămânale, aceiași pași de prelucrare a datelor primite, completarea tabele sau forme repetitive, etc. Utilizarea macro-uri și funcții personalizate pot automatiza aceste operații, schimbarea muncii monotone monotone pe umeri Excel. Un alt motiv pentru utilizarea macro-uri în munca ta poate fi necesară pentru a adăuga în Microsoft Excel lipsă, dar funcționalitatea care aveți nevoie. De exemplu, funcția de colectare a datelor detaliate cu diferite foi pentru o separare a datelor finale foaie de spate, producția de cuvinte sumă, etc.







Macro - o secvență de acțiuni programate (programe, proceduri), scrise în limbajul Visual Basic pentru programarea aplicatiilor (VBA). Putem rula un macro de multe ori, cauzand Excel pentru a efectua orice secvență avem nevoie de acțiune, nu vrem să facem acest lucru manual.

În principiu, există o mare varietate de limbaje de programare (Pascal, Fortran, C ++, C #, Java, ASP, PHP.), Dar pentru toate Microsoft Office Standard este doar un built-in VBA programe de limbă. Comanda limbii înseamnă orice aplicație de birou, dacă Excel, Word, Outlook sau Access.

Crearea macro-uri și funcții definite de utilizator pe VBA

  • Modulele convenționale - sunt utilizate în majoritatea cazurilor, atunci când vine vorba de macro-uri. Pentru a crea un astfel de modul, selectați meniul Inserare - Modul. În fereastra care apare un nou modul de martor poate introduce comenzi pe VBA, tastarea la tastatura, sau prin copierea acestora dintr-un alt modul de pe acest site sau din altă parte:

Crearea macro-uri și funcții definite de utilizator pe VBA

Crearea macro-uri și funcții definite de utilizator pe VBA

Crearea macro-uri și funcții definite de utilizator pe VBA

macro normal inserat într-un modul standard, arată astfel:

Crearea macro-uri și funcții definite de utilizator pe VBA

Să ne uităm la cele de mai sus ca un exemplu de Zamena macro:

  • Orice macro trebuie să înceapă cu o declarație sub. urmată de numele macro și o listă de argumente (valori de intrare) în paranteze. Dacă nu există argumente, parantezele trebuie lăsate goale.
  • Orice macro trebuie să se încheie cu declarația End Sub.
  • Tot ce este între Sub și End Sub - corpul macro, adică, comenzi care urmează să fie executate atunci când macrocomanda este rulat. În acest caz, celula Alocă macro umple banda alocata (Selection) galben (cod = 6) și apoi buclele prin toate celulele, înlocuind valorile în formulă. La sfârșitul casetei de mesaj afișat (MsgBox).

Cu cursul este clar că aici atât de repede, fără pregătire și experiență în programare, în general, și pe VBA, în special, va fi destul de dificil să ne dăm seama exact ce echipa și modul în care acestea ar trebui să fie administrat la un macro efectua automat orice acțiuni care, de exemplu, faci pentru a crea o săptămână raportează conducerii companiei. Prin urmare, ne întoarcem la a doua cale de a crea macro-uri, și anume.

2. Înregistrarea macro metoda makrorekorderom







  • înregistrări Makrorekorder numai acele activități care sunt efectuate în fereastra de Microsoft Excel. De îndată ce închideți Excel sau comutați la un alt program - înregistrarea se oprește.
  • Makrorekorder poate înregistra numai acele acțiuni pentru care există o comandă de meniu sau un buton în Excel. Un programator poate scrie un macro care face ceea ce Excel a fost niciodată bun (sortarea după culoare, de exemplu, sau ceva de genul asta).
  • Dacă în timpul înregistrării makrorekorderom macro a face o greșeală - o eroare va fi înregistrată. Cu toate acestea, în condiții de siguranță puteți apăsa butonul pentru a anula ultima acțiune (Undo) - în timpul recorder makrorekorderom macro nu este doar vozrvraschaet la o stare anterioară, dar, de asemenea, șterge ultima comandă înregistrată la VBA.

Pentru a începe înregistrarea trebuie:

Apoi, trebuie să configurați macro înregistrate în fereastra Macro Record:

Crearea macro-uri și funcții definite de utilizator pe VBA

  • Nume Macro - se va potrivi cu orice nume în limba engleză sau limba rusă. Numele trebuie să înceapă cu o literă și nu pot conține spații și semne de punctuație.
  • combinație de taste - vor fi apoi folosite pentru a rula rapid macro. Dacă uitați combinația sau nu intră, macro poate fi rulat prin Tools - Macro - Macrocomenzi - Run (Tools - Macro - Macrocomenzi - Run) sau folosind butonul macro (Macrocomenzi) de pe fila Dezvoltator (Developer), sau prin apăsarea tastelor ALT + F8.
  • Salvare. - Aici puteți specifica locul în care macro textul va fi salvat, și anume un set de comenzi pentru VBA care alcătuiesc macro.:
    • Această carte - macro este salvat în modulul de carte curentă și, ca urmare, va fi rulat numai atâta timp cât cartea este deschis în Excel
    • Noua carte - un macro stocate într-un șablon pe care pentru a crea orice nouă carte gol în Excel, și anume macro este inclusă în toate noile cărți care sunt create pe computer de acum
    • carte macro Personal - un registru de lucru special Excel numit Personal.xls. care este folosit ca stocare macro. Toate macro Personal.xls încărcate în memorie atunci când porniți Excel, și poate fi rulat în orice moment și în orice carte.

După pornirea înregistrarea și acțiunea care trebuie înregistrată, înregistrarea poate fi oprită prin comanda Oprire înregistrare (Stop Recording).

Lansați și Editare Macrocomenzi

Gestionează se face într-o fereastră, care poate fi deschis cu un macro (Macrocomenzi) pe butonul fila Developer (Developer) sau toate macro-uri disponibile - în versiunile anterioare de Excel - prin Tools - Macro - Macros (Tools - Macro - Macrocomenzi):

Crearea macro-uri și funcții definite de utilizator pe VBA

Crearea unui buton pentru a rula macro-uri

Nu pentru a memora comanda rapidă de la tastatură pentru a rula macro, este mai bine pentru a crea un buton și atribui macro dorit. Butonul poate fi de mai multe tipuri:

Trageți-o pe bara de instrumente și apoi faceți clic pe butonul din dreapta al mouse-ului. În meniul contextual, aveți posibilitatea să atribuiți un buton macro, schimba pictograma și numele:

Faceți clic dreapta pe bara de instrumente Acces Rapid în colțul din stânga sus al ferestrei Excel, apoi faceți clic pe Particularizare Bara de instrumente Acces rapid (Personalizează Acces rapid Bara de instrumente):

Crearea macro-uri și funcții definite de utilizator pe VBA

Crearea macro-uri și funcții definite de utilizator pe VBA

Această metodă este adecvată pentru orice versiune de Excel. Vom adăuga un buton pentru a rula un macro direct pe foaia de lucru ca un obiect grafic. Pentru a face acest lucru:

Selectați butonul de obiect (buton):

Crearea macro-uri și funcții definite de utilizator pe VBA

Apoi, trage un buton de pe o foaie, țineți apăsat butonul stâng al mouse-ului. Va apărea o fereastră în mod automat în cazul în care trebuie să selectați o macrocomandă care ar trebui să ruleze atunci când faceți clic pe butonul de desenat.

Crearea de funcții definite de utilizator în VBA

Crearea de funcții definite de utilizator, sau ca acestea sunt, uneori, de asemenea, numit, UDF-Funcții (utilizator Funcții definite) nu este fundamental diferită de crearea unui macro în modulul software-ul obișnuit. Singura diferență este că macro efectuează o secvență de acțiuni cu cărți de obiecte (celule, formule și valori, liste, diagrame, etc.), și funcția definite de utilizator - numai cu acele valori pe care le vom da să-l ca argumente (date de intrare pentru calculul ).

Crearea macro-uri și funcții definite de utilizator pe VBA

Crearea macro-uri și funcții definite de utilizator pe VBA

După selectarea celulei de evidențiere a argumentelor (cu suma pentru care este necesar să se calculeze TVA) în cazul funcției normale:

Crearea macro-uri și funcții definite de utilizator pe VBA