CalculatoareSoftware-ul

VBA Excel: programe de eșantionare. Macrouri în Excel

Puțini oameni știu că prima versiune a popularului produs Microsoft Excel a apărut în 1985. De atunci a suferit mai multe modificări și cererea de milioane de utilizatori din întreaga lume. Cu toate acestea, numai multe de lucru cu capabilități pic de această foaie de calcul și nici măcar nu știu cum ar putea face viața mai ușoară pentru capacitatea de a programare Excel.

Ce este VBA

Programarea în Excel se face prin Visual Basic pentru aplicații de limbaj de programare care a fost construit inițial în cele mai renumite foaia de calcul de la Microsoft.

Pentru meritul său experții atribuie ușurința relativă de dezvoltare. După cum arată practica, VBA poate stăpâni elementele de bază, chiar și utilizatorii care nu au abilități de programare profesionale. Pentru VBA caracteristici includ executarea script în mediul de aplicare de birou.

Dezavantajul programului sunt problemele asociate cu compatibilitatea versiuni diferite. Acestea sunt cauzate de faptul că codul VBA al programului se referă la funcționalitatea care este prezent în noua versiune a produsului, dar nu și în cea veche. Există, de asemenea, un mare dezavantaj și deschidere excesiv de mare de cod pentru a schimba fața unui străin. Cu toate acestea, Microsoft Office, și IBM Lotus Symphony permite utilizatorilor să aplice setările de criptare cod de intrare și parola pentru ao vizualiza.

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

Este cu aceste concepte trebuie să înțelegeți pe cei care vor să lucreze în mediul VBA. În primul rând, trebuie să înțelegeți ce obiectul este. În Excel, în acest act ca o foaie, o carte, și de celule. Aceste obiecte au o ierarhie specială, adică asculte reciproc.

Cel mai important dintre ele este aplicația, programul Excel corespunzător în sine. Registre de lucru Urmat, foi de lucru, si Range. De exemplu, pentru a se referi la celula A1 pe o foaie specifică trebuie să indice modul în care, ținând seama de ierarhia.

În ceea ce privește conceptul de „colectare“, acest grup de obiecte din aceeași clasă, în care înregistrarea este dat ChartObjects. Elementele sale sunt de asemenea obiecte.

Următorul lucru - proprietăți. Ele sunt o caracteristică necesară a oricărui obiect. De exemplu, pentru Range - este o valoare sau Formula.

Metode - este comanda pentru a arăta că doriți să faceți. Când scrieți cod în VBA ca acestea să fie separate din punct de obiect. De exemplu, după cum se va arăta mai târziu, de foarte multe ori când programarea în comanda „Excel“ folosi celule (1,1); selectați. Aceasta înseamnă că este necesar să se selecteze o celulă cu coordonatele (1,1), adică A1.

Cu toate acestea, este folosit adesea Selection.ClearContents. Implementarea sa se limpezește conținutul celulei selectate.

Cum de a începe

În primul rând, doriți să creați fișierul și salvați-l, atribuiți un nume și selectați tipul de «Book Excel macro-ului.“

Apoi, du-te la aplicația VB, care este suficient pentru a folosi o combinație de «Alt» cheie și «F11». următor:

  • în bara de meniu din partea de sus a ferestrei, faceți clic pe pictograma de lângă pictograma Excel;
  • Mudule selectate comandă;
  • păstrează clic pe pictograma cu discheta;
  • scrie, să zicem, o schiță de cod.

Se pare, după cum urmează:

subprogramul ()

„Codul nostru

end Sub

Vă rugăm să rețineți că linia „„codul nostru“vor fi evidențiate într-o altă culoare (verde). Motivul pentru aceasta apostrof, livrate la începutul șirului, ceea ce indică faptul că ceea ce urmează este un comentariu.

Acum puteți scrie orice cod și de a crea pentru ei înșiși un instrument nou în VBA Excel (a se vedea exemplele de programe. Etc.). Desigur, cei care sunt familiarizați cu elementele de bază ale Visual Basic, acesta va fi mult mai ușor. Cu toate acestea, chiar și cei care nu au, dacă doriți să fie capabil de a obține confortabil destul de repede.

Macrouri în Excel

În spatele acestui nume se ascunde programe scrise în Visual Basic pentru limba de aplicare. Astfel, programarea în Excel - este de a crea un macro la codul dorit. Cu această capacitate, Microsoft foi de calcul auto-dezvoltă, de adaptare la cerințele unui anumit utilizator. După ce a ocupat de modul de a crea module pentru scrierea macro-uri, este posibil să se procedeze cu exemple concrete de programul VBA Excel. Cel mai bine este să înceapă cu codurile cele mai de bază.

EXEMPLUL 1

Sarcina: Scrieți un program care va copia valoarea conținutului de o celulă și apoi scrie la altul.

Pentru a face acest lucru:

  • deschideți fila „View“;
  • muta pictograma „macro“;
  • se agită la „Macro Record“;
  • completați formularul deschis.

Pentru simplificare, în „Macro Name“ lăsați „Makros1“ și în „tasta de apelare rapidă“, se introduce, de exemplu, HH (acest lucru înseamnă că puteți rula programul de exemplu va fi «Ctrl + h» echipa Blitz). Apăsați Enter.

Acum, că ați început înregistrarea macro, alcătuiesc conținutul unei celule la alta. Întoarceți-vă la pictograma originală. Faceți clic pe „Macro Record“. Această acțiune marchează finalizarea applet-uri.

următor:

  • din nou, se deplasează la șirul „Macrocomenzi“;
  • este selectat în lista „Macro 1“;
  • faceți clic pe „Run“ (aceleași plusează Lansata taste de comenzi rapide «Ctrl + hh»).

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

Este logic pentru a vedea cum arată codul. Pentru a face acest lucru, du-te înapoi la șirul „Macrocomenzi“ și faceți clic pe „Editare“ sau „Enter“. Ca urmare, ei se găsesc în mediul VBA. De fapt, codul în sine este situat între liniile macro Makros1 Sub () și End Sub.

În cazul în care copierea a fost efectuată, de exemplu, dintr-o celula A1 în celula C1, una dintre liniile de cod va arata ca Range ( „C1“). Selectați. În traducere, se pare ca „Range (“ C1 „). Selectați“, cu alte cuvinte, face o tranziție la VBA Excel, în celula C1.

O parte activă a codului completează ActiveSheet.Paste echipa. Aceasta înseamnă înregistrarea conținutului celulei selectate (în acest caz, A1) în celula C1 selectată.

EXEMPLUL 2

cicluri VBA ajuta la crearea de macro-uri diferite în Excel.

cicluri VBA ajuta la crearea de macro-uri diferite. Să presupunem că există o funcție y = x + x 3 + 3x 2 - cos (x). Doriți să creați un macro pentru grafica. Acest lucru poate fi realizat numai prin utilizarea de cicluri de VBA.

Pentru valoarea inițială și finală a funcțiilor de argument ia x1 = 0 și x2 = 10. În plus, este necesar să se introducă o constantă - valoarea pasului schimbă argumentul și o valoare inițială pentru contor.

Toate exemplele de macro-uri VBA Excel sunt create folosind aceeași procedură ca mai sus. În acest caz particular, codul arata ca:

programm Sub ()

x1 = 1

x2 = 10

loden = 0,1

i = 1

Nu în timp ce x1

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

Celulele (i, 1) .value = x1 (valoarea x1 scrisă în memoria cu coordonatele (i, 1))

Celulele (i, 2) .value = y (valoarea y este scris în celula cu coordonatele (i, 2))

i = i + 1 (număr valid);

x1 = x1 + loden (argument este schimbat cu mărimea pasului);

buclă

End Sub.

Ca urmare a acestei rula macro „Excel“ obține două coloane, dintre care prima se înregistrează valorile pentru x, iar al doilea - la y.

Apoi programa capabil să se bazeze pe ele, standardul pentru „Excel“.

EXEMPLUL 3

Pentru a pune în aplicare în cicluri VBA Excel 2010, precum și în alte versiuni, împreună cu Do deja redus, în timp de proiectare folosit pentru.

Luați în considerare un program care creează o coloană. În fiecare celulă, se va înregistra numărul liniei de pătrate corespunzătoare. Pentru utilizarea design vă va permite să-l înregistreze foarte pe scurt, fără utilizarea unui contor.

În primul rând este necesar să se creeze un macro, așa cum este descris mai sus. Apoi, scrie codul în sine. Noi credem că suntem interesați de valorile pentru 10 celule. Codul este după cum urmează.

Pentru i = 1 până la 10 Următorul

Comanda este transferată în limba „uman“, așa cum „repetă 1 - 10, în trepte de câte unul.“

În cazul în care sarcina de a primi coloana cu pătrate, de exemplu, toate numere întregi impare între 1 și 11, vom scrie:

Pentru i = 1 până la 10 pasul 1 Următorul.

Aici, pas - pas. În acest caz, este egal cu doi. În mod implicit, absența cuvântului în bucla înseamnă că un singur pas.

Rezultatele trebuie să fie stocate în numărul de celule (i, 1). Apoi, de fiecare dată când începe ciclul cu o creștere a valorii i pas va crește în mod automat și numărul liniei. Astfel, nu va fi cod de optimizare.

În general, codul ar arata astfel:

subprogramul ()

Pentru i = 1 până la 10 Etapa 1 (poate fi scris numai pentru i = 1 la 10)

Celulele (i, 1) .value = i ^ 2 (valoare pătrat adică este scris în celulă (i, 1) i)

Următoarea (într - un sens joacă rolul mijloacelor contra și un alt ciclu de pornire)

End Sub.

Dacă este făcută corect, inclusiv înregistrarea și funcționare macro (vezi. Instrucțiunile de mai sus), atunci aceasta se numește de fiecare dată când o anumită mărime se va obține coloana (în acest caz, care constă din 10 celule).

EXEMPLUL 4

În viața de zi cu zi, de foarte multe ori este necesar să se ia această decizie sau că, în funcție de anumite condiții. Nu se poate face fără ele în VBA Excel. Exemple de programe în care cursul în continuare a algoritmului este selectat în locul predeterminat inițial, cel mai frecvent utilizate proiectarea Dacă ... Atunci (pentru cazurile dificile) Dacă ... Atunci ... END Dacă.

Luați în considerare cazul particular. Să presupunem că doriți să creați un macro pentru „Excel“ la celula cu coordonatele (1,1) a fost înregistrată:

1 dacă argumentul este pozitiv;

0 dacă argumentul este zero;

1, în cazul în care argumentul este negativ.

Crearea unei astfel de macro pentru „Excel“ începe într-un mod standard, prin utilizarea de chei „fierbinți“ Alt și F11. Mai departe în scris următorul cod:

subprogramul ()

x = Celulele (1, 1) .value (Această comandă atribuie valoarea coordonatelor x ale conținutului celulei (1, 1))

Dacă x> 0 Apoi Cells (1, 1) .value = 1

Dacă x = 0 Apoi Cells (1, 1) .value = 0

Dacă x <0 Apoi Cells (1, 1) .value = -1

End Sub.

Rămâne de a rula un macro și de a lua în „Excel“ valoarea dorită pentru argumentul.

funcţii VBA

După cum ați observat, în cel mai cunoscut program de calcul tabelar Microsoft nu este prea dificil. Mai ales dacă înveți cum să utilizați funcțiile VBA. În total, acest limbaj de programare creat special pentru scrierea aplicațiilor în „Excel“ și Cuvântul, aproximativ 160 de funcții. Acestea pot fi împărțite în mai multe grupuri mari. Acestea sunt:

  • Funcții matematice. Aplicarea ei la argumentul valorii cosinus se obține, logaritmul natural, și astfel încât întreaga parte.
  • Funcții financiare. Datorită disponibilității și utilizarea lor de programare în Excel, puteți obține instrumente eficiente pentru contabilitate și așezări financiare.
  • Funcții de procesare matrice. Acestea includ Array, IsArray; LBound; UBound.
  • VBA Excel funcționează pentru linia. Acesta este un grup destul de mare. Acesta include, de exemplu, funcția Space pentru a crea un șir cu un număr de lacune egal cu argumentul întreg sau simboluri transferă Asc la codul ANSI. Toate acestea sunt utilizate pe scară largă și vă permite să lucrați cu siruri de caractere în „Excel“ pentru a crea aplicații mult mai ușor de a lucra cu aceste tabele.
  • funcții de conversie tip de date. De exemplu, cvar returnează argumentul Expression, conversia acestuia Varianta tip de date.
  • Data funcții. Ei extinde foarte mult caracteristicile standard ale „Excel“. Deci, funcția WeekdayName returnează numele (totală sau parțială) a zilei săptămânii prin numărul său. Chiar mai util este cronometrul. El dă numărul de secunde care au trecut de la miezul nopții la un anumit moment al zilei.
  • Funcție pentru a converti un argument numeric în diferite sisteme de numerație. De exemplu, octombrie ieșiri la reprezentarea octal a numărului.
  • funcții de formatare. Cel mai important dintre acestea este formatul. Returneaza o variantă cu o expresie formatate în conformitate cu instrucțiunile date în descrierea formatului.
  • și așa mai departe.

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

EXEMPLUL 5

Să încercăm să rezolve probleme mai complexe. De exemplu:

document de hârtie Dan nivelul real al costurilor raportului întreprindere. necesită:

  • dezvolte porțiunea sa de model de calcul tabelar „Excel“;
  • face un program VBA care va solicita date brute să-l umple, pentru a efectua calculele necesare și completați modelul celulei corespunzătoare.

Luați în considerare una dintre următoarele soluții.

Crearea unui șablon

Toate acțiunile sunt efectuate pe o foaie standard, în Excel. celule libere rezervate pentru introducerea datelor pe lună, an, companiile titlu de consum, valoarea costurilor, nivelul lor de cifra de afaceri. Pe măsură ce numărul de firme (companii), pentru care nu este înregistrată raportul, celulele pentru a face pe baza valorilor și a numelui profesional nu este rezervat în avans. Foaie de lucru atribuit unui nou nume. De exemplu, „Օ Raport“.

variabile

Pentru a scrie programul completa automat în șablon, selectați notația. Acestea vor fi utilizate pentru variabilele:

  • NN- numărul rândului curent al tabelului;
  • TP și TF - planificate și cifra de afaceri reală;
  • SF și SP - costurile totale efective și planificate;
  • IP și IF - planificate și nivelul costurilor reale.

Vom nota cu aceleași litere, dar cu un „prefixa» Itog acumulare totale pentru acea coloană. De exemplu, ItogTP - În ceea ce privește coloana intitulată, ca „cifra de afaceri planificat.“

Soluția de rezolvare a problemei folosind programare VBA

Folosind această notație, obținem formula pentru variația. Dacă doriți să efectueze calculul în% avem (F - P) / P * 100, și în valoare de - (F - P).

Rezultatele acestor calcule pot fi cel mai bine doar pentru a face „Excel“ foaie de calcul în celulele corespunzătoare.

Pentru rezultatul și prognosticul fapt obținute prin formulele ItogP = ItogP + P și ItogF = ItogF + F.

Pentru abateri folosesc = (ItogF - ItogP) / ItogP * 100 în cazul în care calculul este efectuat ca procent, iar în cazul în care valoarea totală - (ItogF - ItogP).

Rezultatele din nou înregistrate în celulele corespunzătoare, astfel încât nu este nevoie să le atribuie variabile.

Înainte de a începe să creeze un program pe care doriți să salvați registrul de lucru, de exemplu, sub numele de „Otchet1.xls“.

Apăsați „Crearea unui tabel de raportare“, trebuie să apăsați doar 1 dată după introducerea informațiilor antet. Ar trebui să știi și alte reguli. În special, butonul „Adăugați o linie“ trebuie să fie apăsat de fiecare dată după intrarea în tabelul de valori pentru fiecare activitate. După introducerea tuturor datelor necesare pentru a apăsa butonul „Finish“, și apoi trece la „Excel“ în fereastra.

Acum știi cum să rezolvi sarcinile pentru Excel folosind macro-uri. Abilitatea de a aplica vba excel (exemple de programe, vezi mai sus) poate fi necesară pentru a lucra în mediul cel mai popular editor de text "Vord". În special, puteți scrie, după cum se arată chiar la începutul articolului sau prin scrierea butoanelor pentru crearea de coduri, datorită cărora multe operații asupra textului pot fi executate prin apăsarea tastelor sau prin fila "Vizualizare" și pictograma "Macrocomenzi".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ro.birmiss.com. Theme powered by WordPress.