Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Programiranje i primjeri u vba ms excel. Excel makro primjeri

Programiranje i primjeri u vba ms excel. Excel makro primjeri

Sadržaj ove stranice će se stalno povećavati...
  1. Program kalkulatora "Podizanje brojeva na velike stepene".

    Implementirajte tačan proračun podizanja na velike stepene jednocifrenih brojeva (2 do 9) koristeći dugu aritmetiku.

  2. Sa foruma od Jonny323. VBA Word

    Pozdrav svima. Zaista mi treba makro, mislim da nije teško: Štampanje prve stranice u 6 kopija i druge stranice u 2 kopije.Unaprijed hvala.

  3. ProgressBar na obrascu. VBA Excel

    Kontrola koja pokazuje napredak programa (koliko je posla obavljeno od 100%)...

  4. Statistički proračuni u istaknutom tekstu. VBA Word

    Kreirajte makro u Wordu koji će odrediti broj riječi, zareza i tačaka u slobodnom tekstu.
    Riječi će značiti grupe znakova odvojene razmacima (jedan ili više) i ne sadrže razmake unutar sebe. Unutar riječi ne može biti tačaka ili zareza. Ellipse se ne računaju kao tačke...

  5. Statistički proračuni u tekstu dokumenta. Korištenje korisničkog obrasca za unos podataka. VBA Word

    Kreiranje programa u Wordu - U formu korisnik unosi riječ ili frazu, a program skenira cijeli tekst i unosi unesenu riječ (frazu) na kraj dokumenta, pored koje se nalaze svi brojevi stranica na kojima se ova riječ se pojavljuje su navedene. Podudaranja brojeva stranica nisu dozvoljena. To jest, ako se navedena riječ pojavi tri puta na stranici 5, broj 5 je naznačen samo jednom u izlazu. Obrazac treba da se sastoji od sljedećih komponenti:
    - 1 TextBox za unos riječi (fraze);
    - 1 dugme za izlaz iz programa;
    - 1 dugme za pokretanje pretrage i umetanje rezultata u dokument;
    - komponenta tipa Label sa tekstom objašnjenja iznad linije za unos;
    - Dodatno, obrazac može imati komponente tipa Frame;

  6. Rad sa ListBoxom (Excel). Snimanje, sortiranje, višestruki odabir...

  7. Program za rješavanje japanske sudoku slagalice (Excel)

  8. Makroi za izvršavanje upita (tj. generiranje nove tablice iz Excel baze podataka)

  9. Hoare sortiranje (algoritam sa wikipedia.org)

    Jedna od najbržih metoda sortiranja.
  10. Sortiranje spajanjem (koristeći Hoare)

    Jedna od najbržih i najoptimalnijih metoda sortiranja.
  11. VBA Excel: Program za izračunavanje ljudskih bioritma

  12. Za blackarrow sa programmersforum.ru

  13. Odredite koja je koordinatna četvrtina
    tačka sa datim koordinatama A (a, b) pada. VBA EXCEL.

  14. Cjelobrojni prikaz u riječima VBA EXCEL.

  15. LOGIKA.

    Rješavanje kvadratne jednadžbe.
  16. VBA EXCEL.

  17. VBA EXCEL. Problem trougla. Niz, petlja, logika.

    S obzirom na dimenzije triju stranica trokuta, odredite njegovu vrstu (pravougaona, tupa, oštra ili nemoguće izgraditi).
  18. Budilnik u Excelu

  19. VBA EXCEL.

  20. VBA EXCEL.

  21. VBA EXCEL.

    Makro koji u odabranom rasponu predstavlja svi negativni brojevi u plavoj boji, pozitivni brojevi u crvenoj, nule u bijeloj (ili žutoj).

  22. VBA EXCEL. Kako sakriti ili prikazati elemente lista.

    Ponekad je potrebno sakriti neke karakteristike od korisnika (u pravilu je skrivena lokacija podataka):
    - posjetite druge stranice ove knjige (bolje je ne znati za njih);
    - pomičite (horizontalno i okomito) list
    - čitati i mijenjati formule u ćelijama radnog lista
    - sakriti linije kolona i redova
    - sakriti zaglavlja (imena i brojeve) kolona i redova
  23. VBA EXCEL. Dodajte i uklonite stavku menija.

    Nije teško dodati (ukloniti) sopstvenu stavku u Excel meni. Sve je to opisano u pomoći.
    Ali mnogo je interesantnije povjeriti ovaj posao makrou.
    Tada postaje moguće, prilikom otvaranja određenog dokumenta, formirati poseban, pojedinačni meni, a nakon zatvaranja Excel meni dovesti u prvobitno stanje. (Ovaj primjer koda radi samo u MS Excelu 2003, au 2007. nazive kontrolnih panela treba promijeniti)
  24. Ćelijski automati VBA EXCEL.

  25. Metoda Zlatnog preseka VBA EXCEL.

  26. Zamjenjuje maksimalne i minimalne vrijednosti ćelija odabranog raspona. VBA Excel

    Razvijte program ili korisnički obrazac za pronalaženje i preuređivanje elemenata sa maksimalnim i minimalnim vrijednostima odabranog raspona radnog lista

  27. Funkcija stringa koja vraća kvadrate prostih brojeva od nule do navedenog broja. VBA Excel

    Napišite funkciju u Excelu koja uzima prirodni broj N i vraća kvadrate svih prostih brojeva od 0 do datog prirodnog N.

  28. Korisnički obrazac za unos podataka o kreditima poslovnih banaka. VBA Excel

    Organizovati unos podataka u tabelu koja sadrži podatke o izdavanju dugoročnih kredita od strane poslovne banke sa sledećim podacima: šifra primaoca kredita, naziv primaoca kredita, datum izdavanja kredita, period (3- 4 roka) na koji je kredit izdat (u danima), kamata, iznos kredita, datum plaćanja kamate na kredit.

  29. Korisnički obrazac (UserForm) za unos podataka o registraciji turista. VBA Excel

    baš na ovom mestu...

(Visual Basic za aplikaciju)

Osnovni programski jezik visokog nivoa (prevodilac)

Vizualni - sadrži vizualne alate za razvoj programa (kodova) koji pojednostavljuju rad korisnika, omogućava vam snimanje kodova pomoću makro snimača.

Aplikacija je aplikacija za softverski sistem MSOffice zajedno sa Word, Access, PowerPoint aplikacijama.

Zašto ti trebaVBA?

    Kombinira (integriše) aplikacije, omogućava vam da upravljate radom drugih aplikacija bez napuštanja Excela, ugrađujete objekte iz drugih aplikacija;

    Radnje koje su dostupne korisniku na radnom listu čine 10% svih mogućnosti Excela, VBA vam omogućava da automatizujete rad vašeg projekta.

VBA spada u broj objektno orijentisanih jezika, odnosno objekti se koriste pri izradi projekata. definicija: kombinovanje podataka i koda u jednu celinu Na primer, element "Dugme" i odgovarajući kod povezan sa ovim dugmetom obezbediće prelazak na drugi list radne sveske.

Glavni objektiVBA:

Aplikacija (sama Excel aplikacija)

Radna sveska (radna sveska je vaš fajl)

WorkSheetFunction (čarobnjak funkcija)

WorkSheet

Domet

Grafikon

Stil

Granica

Enterijer (boja pozadine)

Font

Mnogi od nekih objekata čine porodice– Radne sveske, radni listovi, grafikoni.

Objekti imaju svojstva (radnje na objekte) i metode (radnje samih objekata).

Počnimo sa upoznavanjem alata za vizualizaciju za razvoj projekata u VBA. Ovo je Integrisano okruženje za razvoj aplikacija. Da biste ušli u ovo okruženje, izaberite stavku menija ServiceMacroEditorVBA ili pritisnite tastere ALT i F11 istovremeno.

Komponente VBA editora se pojavljuju na ekranu:

Prozor projekta - VBA projekat

Prozor sa svojstvima

Prozor koda

Prozor korisničkog obrasca

Trake sa alatkama

Prozor Project – VBAProject (slika 1) prikazuje strukturu vašeg projekta (fajla). Ovaj prozor se aktivira u VBA editoru odabirom naredbe ViewProjectExplorer ili pritiskom na tipku ProjectExplorer ili pritiskom na Ctrl + R

Rice. 1 Prozor projekta.

Slika 2 Integrisano okruženje za razvoj aplikacija

Prozor koda služi za pohranjivanje koda povezanog s objektom. Svaki objekat ima svoj prozor, tako da svaki radni list ima svoj prozor koda, radna knjiga ima svoj prozor.

Kreiranje prilagođenih funkcija

Prilagođene funkcije se dodaju na standardnu ​​listu WorkSheetFunction. Ove funkcije se kreiraju u posebnom modulu koji prati objekat WorkSheetFunction. Ovaj modul se dodaje projektu pomoću naredbe InsertModule i pojavit će se u prozoru projekta na razini vaše aplikacije. Svi kodovi napisani u ovom modulu će se pojaviti u kategoriji Korisnički definirane funkcije čarobnjaka za funkcije.

Dakle, dodamo modul našem projektu (InsertModule) i upišemo tekst programa u prozor koda ovog modula:

y = Cos ((x + 2) / 2) ^ 2 + Exp (-2 * x) / (x ^ 2 + 1) ^ 0,5

Zatim idemo na radni list "1 graf", u ćeliji c2 ćemo pozvati novu funkciju koja je dodana glavnoj funkciji - y (x). Rad s ovom funkcijom se ne razlikuje od rada s bilo kojom drugom funkcijom. U prvom koraku potrebno je odabrati y (x) u kategoriji "Korisnički definirane funkcije", u drugom koraku navesti ćeliju A2 kao argumente x. Kao rezultat, formula = y (A2) će biti upisana u ćeliju C2. Prevucite ovu formulu preko cijelog raspona A2: A17 kao što je prikazano na Sl. 3. Naravno, rezultat bi trebao biti isti kao što ste dobili izračunavanjem ove funkcije uobičajenim sredstvima radnog lista.

Slika 3. Funkcija y (x), izračunata na uobičajen način i korištenjem prilagođene funkcije.

Vba Osnovni operatori - Uvjetni operatori

Uslovni operatori imaju 2 oblika notacije:

1) Jedan red

IF< условие>ONDA<оператор 1>

IF, THEN, ELSE - nepromjenjive službene riječi, u ugaonim zagradama< >korisnički tekst, ovo je ono što pišete u skladu sa zadatkom, u uglastim zagradama je izborni dio, tekst možda nedostaje. Ovaj oblik se obično koristi u slučaju jednostavnih radnji, na primjer, kada se izračunava modul broja y = h = abs (s), možete koristiti sljedeći operator:

AKO je x> 0 ONDA y = x DRUGO y = -x

2) U nekoliko redova. U ovom slučaju, uvjetni izraz nužno završava naredbom "ENDIF"

IF<условие>ONDA

<оператор 1>

<оператор 2>

<оператор 3>

<оператор 4>

Ovaj oblik se koristi za složene proračune, na primjer, kada se računaju korijeni kvadratne jednadžbe. Neka je potrebno pronaći korijene jednadžbe a * x 2 + b * x + c = 0. Kao što znate, ako je b 2 -4 * a * c ≥ 0, tada se korijeni izračunavaju po formuli
, ako je b 2 -4 * a * c ≤ 0, tada nema korijena u rasponu realnih brojeva. Uslovni operator koji implementira ovaj algoritam izgleda ovako:

AKO b ^ 2 -4 * a * c> = 0 ONDA

X1 = (-b + (b ^ 2 - 4 * a * c) ^ (1/2)) / (2 * a)

X2 = (-b + (b ^ 2 + 4 * a * c) ^ (1/2)) / (2 * a)

X1 = “NEMA RJEŠENJA”

X2 = “NEMA RJEŠENJA”

Primjeri pisanja prilagođenih funkcija u vba

Primjer 1.

F
unction y (x)

y = Cos ((x + 2) / 2) ^ 2 + Exp (-2 * x) / (x ^ 2 + 1) ^ 0,5

End Funkcija

Primjer 2

Funkcija z (x)

Ako je x< 0 Then

z = (1 + x + x ^ 2) / (1 + x ^ 2)

Ako je x< 1 Then

z = (1 + 2 * x / (1 + x ^ 2)) ^ (1/2)

z = 2 * Abs (0,5 + Sin (x))

End Funkcija

Predavanje 2

    Svojstva, metode i događaji VBA objekata. Primjer procedure koja koristi pojedinačna svojstva objekta Application.

    Kontrolni elementi

    Tipovi varijabli u VBA

    Operatori petlje

    Primjer programa za tabelarne funkcije

Svojstva, metode i događaji VBA objekata. Primjer procedure koja koristi pojedinačna svojstva objekta Application.

Nastavimo naše upoznavanje sa VBA objektnim modelom. Svi objekti su organizirani u hijerarhijskoj strukturi podređenoj objektu "Application" najvišeg nivoa.

Aplikacija . Radne sveske .

Ako je radna sveska (datoteka) "Grafika" aktivna, dovoljno je naznačiti

Radni listovi ("Sadržaj") Opseg ("A1").

Ako radite na listu „Sadržaj“, onda će veza izgledati kao Opseg („A1“).

Svi objekti imaju svojstva, metode i događaje.

Nekretnina ovo je neka karakteristika objekta (boja, oblik, ime, lokacija, vidljivost, itd.) Vrijednost objekta se postavlja na sljedeći način:

Object.Property = vrijednost svojstva

Metoda to je radnja koja se izvodi na objektu (otvaranje, zatvaranje, brisanje). Pravilo pisanja metode:

Objekt. Metoda

Događaj to je akcija koju objekt prepoznaje (klik mišem, dvostruki klik, pritisak na tipku).

Suštinu programiranja u VBA čine dva koncepta – događaj i odgovor na njega. Ako korisnik utiče na sistem (pritiskom na dugme), što je događaj, onda je pomoću VBA moguće programirati odgovor - akciju odgovora.

Evo nekih svojstava, metoda i događaja glavnih objekata.

Nekretnina

Objekat aplikacije

Naslov (naslov objekta)

Zatvori (zaustavi Excel

Nova radna sveska (kreirajte novu radnu svesku)

AutoREcover

Sačuvaj

SheetActivate (idite na radni list)

ReferenceStyle (referentni stil)

Pokreni (izvršenje makroa)

WorkBookOpen (otvorite radnu svesku)

MemoryFree (informacije o slobodnoj RAM memoriji)

Promjenjivo (ponovno izračunavanje na promjenu ćelija radnog lista)

WorkBookBeforeClose (zatvaranje radne knjige)

MemoryTotal (informacije o ukupnoj RAM memoriji)

Izračunaj (obračun u svim otvorenim radnim sveskama)

SheetBeforeDubleClick (dvostruki klik)

MemoryUsed (informacije o zauzetoj RAM memoriji)

IpputBox (unos podataka)

SheetBeforeRightClick (desni klik)

CellDragAndDrop (povucite i ispustite formule u ćelijama)

Msgbox (izlazne poruke)

ActiveCell, ActiveSheet (aktivna ćelija, list)

Ćelije (opseg ćelija)

DisplayFormulaBar (prikaži traku formule)

DisplayScrollBar (prikaz traka za pomicanje)

DisplayStatusBar (prikaz statusne trake)

Svojstva metode aplikacije omogućavaju vam da programski postavite vrijednosti mnogih opcija u prozoru Alati / Opcije. Na primjer, možete koristiti sljedeće procedure da promijenite zadani prikaz Excel prozora, promijenite naslov i onemogućite akciju prevlačenja i ispuštanja formula.

Ove procedure se snimaju u modulu "Ova knjiga" i izvršavaju se kada se radna sveska otvara i zatvara, odnosno kada se izvršavaju događaji Open i BeforeClose:

Privatna pod radna knjiga_open ()

„Naslov radne sveske

Application.Caption = "Kisa i Osya su bile ovdje"

"Boja pozadine opsega A1: D1 -crvena

"Granice dometa A1: D1 - isprekidana linija

"prevlačenje CellDragAndDrops je otkazano

Application.CellDragAndDrop = False

'Traka formule je uklonjena

Application.DisplayFormulaBar = False

'Trake za pomicanje su uklonjene

Application.DisplayScrollBars = False

“R1C1 stil veze je postavljen

Application.ReferenceStyle = xlR1C1

"Private Sub Workbook_BeforeClose (Otkaži kao Boolean)

"Prevlačenje CellDragAndDrops je vraćeno

Application.CellDragAndDrop = Tačno

'Traka formule je vraćena

Application.DisplayFormulaBar = Tačno

'Trake za pomicanje su vraćene

Application.DisplayScrollBars = Tačno

'A1 stil veze je vraćen

Application.ReferenceStyle = xlA1

Malo ko zna da se prva verzija popularnog Microsoft Excel proizvoda pojavila 1985. godine. Od tada je prošao kroz nekoliko modifikacija i tražen je među milionima korisnika širom svijeta. Istovremeno, mnogi ljudi rade sa samo malim dijelom mogućnosti ovog procesora tablica i čak nemaju pojma kako bi im život mogao olakšati programiranje u Excelu.

Šta je VBA

Programiranje u Excel-u se izvodi pomoću programskog jezika Visual Basic for Application, koji je originalno ugrađen u najpoznatiji procesor tablica iz Microsofta.

Stručnjaci pripisuju njegovim prednostima komparativnu lakoću razvoja. Kao što pokazuje praksa, čak i korisnici koji nemaju profesionalne vještine programiranja mogu savladati osnove VBA. Jedna od karakteristika VBA je izvršavanje skripte usred kancelarijskih aplikacija.

  • ponovo idite na red "Makroi";
  • izaberite "Makro 1" na listi;
  • pritisnite "Run" (ista radnja se pokreće pokretanjem kombinacije tipki "Ctrl + hh").

Kao rezultat toga, odvija se radnja koja je izvedena u procesu snimanja makroa.

Ima smisla vidjeti kako izgleda kod. Da biste to učinili, vratite se na red "Makroi" i kliknite "Promijeni" ili "Enter". Kao rezultat toga, završavaju u VBA okruženju. Zapravo, sam makro kod se nalazi između linija Sub Macro1 () i End Sub.

Ako je kopiranje izvršeno, na primjer, iz ćelije A1 u ćeliju C1, tada će jedan od redova koda izgledati kao Raspon (“C1”). Odaberite. U prevodu to izgleda kao "Range (" C1 "). Select, drugim rečima, prenosi se u VBA Excel, u ćeliju C1.

Aktivni dio koda dovršava naredba ActiveSheet.Paste. To znači upisivanje sadržaja odabrane ćelije (u ovom slučaju A1) u označenu ćeliju C1.

Primjer 2

VBA petlje vam pomažu da kreirate različite makroe u Excel-u.

VBA petlje vam pomažu da kreirate različite makroe. Pretpostavimo da imamo funkciju y = x + x2 + 3x3 - cos (x). Potrebno je kreirati makro da biste dobili njegov grafikon. Ovo se može uraditi samo pomoću VBA petlji.

Početna i konačna vrijednost argumenta funkcije uzimaju se kao x1 = 0 i x2 = 10. Osim toga, potrebno je unijeti konstantu - vrijednost za korak promjene argumenta i početnu vrijednost za brojač.

Svi primjeri VBA Excel makroa kreirani su korištenjem iste procedure kao što je gore prikazano. U ovom konkretnom slučaju, kod izgleda ovako:

Uradi Dok x1< x2 (цикл будeт выполняться пока вeрно выражeниe x1 < x2)

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

Ćelije (i, 1) .Vrijednost = x1 (vrijednost x1 se upisuje u ćeliju sa koordinatama (i, 1))

Ćelije (i, 2) .Vrijednost = y (vrijednost y se upisuje u ćeliju sa koordinatama (i, 2))

i = i + 1 (brojac je aktivan);

x1 = x1 + shag (argument se mijenja veličinom koraka);

Kao rezultat pokretanja ovog makroa u Excelu, dobijamo dva stupca, od kojih prvi sadrži vrijednosti za x, a drugi za y.

Zatim se graf iscrtava koristeći ih na standardni način za Excel.

Primjer 3

Za implementaciju petlji u VBA Excel 2010, kao iu drugim verzijama, uz već citiranu konstrukciju Do While, koristi se For.

Razmislite o programu koji kreira kolonu. U svakoj od njegovih ćelija biće upisani kvadrati broja odgovarajućeg reda. Korištenje konstrukcije For će vam omogućiti da je napišete vrlo kratko, bez korištenja brojača.

Prvo morate kreirati makro kao što je gore opisano. Zatim zapisujemo sam kod. Smatramo da nas zanimaju vrijednosti za 10 ćelija. Kod izgleda ovako.

Za i = 1 do 10 Dalje

Komanda je prevedena na "ljudski" jezik kao "Ponovi od 1 do 10 u koracima od jedan".

Ako je zadatak dobiti stupac s kvadratima, na primjer, sve neparne brojeve iz raspona od 1 do 11, tada pišemo:

Za i = 1 do 10 korak 1 Sljedeći.

Ovdje je korak korak. U ovom slučaju, jednako je dva. Po defaultu, odsustvo ove riječi u petlji znači da je korak jedan.

Dobijeni rezultati se moraju pohraniti u ćelije sa brojem (i, 1). Zatim, na svakom početku ciklusa sa povećanjem i za veličinu koraka, broj reda će se automatski povećati. Tako će kod biti optimizovan.

Generalno, kod će izgledati ovako:

Za i = 1 do 10, korak 1 (možete jednostavno napisati Za i = 1 do 10)

Ćelije (i, 1) .Vrijednost = i ^ 2 (tj. vrijednost kvadrata i je upisana u ćeliju (i, 1))

Dalje (u nekom smislu igra ulogu brojača i znači još jedan početak ciklusa)

Ako je sve urađeno ispravno, uključujući snimanje i pokretanje makronaredbe (pogledajte gornje upute), tada će se svaki put kada se pozove dobiti stupac određene veličine (u ovom slučaju koji se sastoji od 10 ćelija).

Primjer 4

U svakodnevnom životu prečesto postoji potreba da se donese ova ili ona odluka, u zavisnosti od nekog stanja. Ne možete bez njih u VBA Excel-u. Primjeri programa u kojima je odabran dalji tok algoritma, a nije unaprijed određen inicijalno, najčešće koriste konstrukciju If… Then (za složene slučajeve) If… Then… END If.

Razmotrimo konkretan slučaj. Pretpostavimo da trebate kreirati makro za "Excel" tako da je ćelija s koordinatama (1,1) napisana:

1, ako je argument pozitivan;

0 ako je argument nula;

1 ako je argument negativan.

Kreiranje takvog makroa za "Excel" počinje na standardni način, korištenjem "vrućih" tipki Alt i F11. Zatim se piše sljedeći kod:

x = Ćelije (1, 1) .Vrijednost (ova komanda dodjeljuje x vrijednost sadržaja ćelije sa koordinatama (1, 1))

Ako je x> 0 Tada su ćelije (1, 1) .Vrijednost = 1

Ako je x = 0 Tada su ćelije (1, 1) .Vrijednost = 0

Ako je x<0 Then Cells(1, 1).Value = -1

Ostaje pokrenuti makro i dobiti potrebnu vrijednost za argument u "Excelu".

VBA funkcije

Kao što ste mogli primijetiti, programiranje u Microsoftovom najpoznatijem procesoru za proračunske tablice i nije tako teško. Pogotovo ako naučite kako koristiti VBA funkcije. Sve u ovom programskom jeziku, kreiranom posebno za pisanje aplikacija u Excelu i Wordu, oko 160 funkcija. Mogu se podijeliti u nekoliko velikih grupa. Ovo:

  • Matematičke funkcije. Primjenjujući ih na argument, dobijaju vrijednost kosinusa, prirodnog logaritma, integralnog dijela, itd.
  • Finansijske funkcije. Zahvaljujući njihovom prisustvu i korišćenju programiranja u Excel-u, možete dobiti efikasne alate za računovodstvo i finansijska poravnanja.
  • Funkcije obrade niza. To uključuje Array, IsArray; LBound; UBound.
  • VBA Excel funkcije za string. Ovo je prilično velika grupa. Uključuje, na primjer, funkcije Space za kreiranje stringa s cijelim brojem razmaka ili Asc za pretvaranje znakova u ANSI kod. Svi oni imaju široku upotrebu i omogućavaju vam rad sa stringovima u Excelu, kreirajući aplikacije koje uvelike olakšavaju rad sa ovim tabelama.
  • Funkcije konverzije tipa podataka. Na primjer, CVar vraća vrijednost argumenta Expression pretvarajući ga u tip podataka Variant.
  • Funkcije za rad sa datumima. Oni značajno proširuju standardne mogućnosti programa Excel. Dakle, WeekdayName funkcija vraća naziv (puno ili djelomično) dana u tjednu po njegovom broju. Tajmer je još korisniji. Daje broj sekundi koje su protekle od ponoći do određenog trenutka u danu.
  • Funkcije za pretvaranje numeričkog argumenta u različite sisteme brojeva. Na primjer, oktobar daje oktalne brojeve.
  • Funkcije formatiranja. Najvažniji od njih je Format. Vraća Variant s izrazom formatiranim prema uputama datim u opisu formata.
  • itd.

Proučavanje svojstava ovih funkcija i njihove primjene značajno će proširiti opseg primjene "Excela".

Primjer 5

Pokušajmo prijeći na rješavanje složenijih problema. Na primjer:

Dat je papirni dokument izvještaja o stvarnom nivou podrške preduzeća. Obavezno:

  • da razvije svoj šablonski deo pomoću Excel procesora tablica;
  • kreirajte VBA program koji će tražiti početne podatke za njegovo popunjavanje, izvršiti potrebne proračune i popuniti ih u odgovarajuće ćelije šablona.

Razmotrimo jedno od rješenja.

Kreiranje šablona

Sve radnje se izvode na standardnom listu u Excel-u. Slobodne ćelije su rezervisane za unos podataka po mjesecu, godini, nazivu kompanije potrošača, količini proizvoda, njihovom nivou i prometu. Budući da broj preduzeća (društva) za koje se sastavlja izvještaj nije fiksan, ćelije za unos vrijednosti prema rezultatima i puno ime specijaliste nisu unaprijed rezervirane. Radnom listu se dodeljuje novo ime. Na primjer, "Օ izvještaji".

Varijabilna

Za pisanje programa za automatsko popunjavanje šablona potrebno je odabrati oznaku. Oni će se koristiti za varijable:

  • NN- broj trenutnog reda tabele;
  • TP i TF - planirani i stvarni promet;
  • SF i SP - stvarni i planirani iznos troškova;
  • IP i IF - planirani i stvarni nivo podrške.

Označimo istim slovima, ali sa "prefiksom" Itog, akumulaciju ukupnog iznosa za ovu kolonu. Na primjer, ItogTP - odnosi se na kolonu tabele pod nazivom “planirani promet”.

Rješavanje problema korištenjem VBA programiranja

Koristeći uvedene oznake dobijamo formule za odstupanja. Ako trebate izvršiti obračun u % imena (F - P) / P * 100, iu zbiru - (F - P).

Rezultate ovih proračuna najbolje je odmah unijeti u odgovarajuće ćelije u Excel tabeli.

Za činjenične i prognozirane zbrojeve dobijaju se pomoću formula ItogP = ItogP + P i ItogF = ItogF + F.

Za odstupanja koristite = (ItogF - ItogP) / ItogP * 100, ako se obračun vrši u procentima, a u slučaju ukupne vrijednosti - (ItogF - ItogP).

Rezultati se ponovo odmah upisuju u odgovarajuće ćelije, tako da nema potrebe da ih dodjeljujete varijablama.

Prije pokretanja kreiranog programa potrebno je da sačuvate radnu svesku, na primjer, pod imenom "Izvještaj1.xls".

Dugme "Kreiraj tabelu izvještaja" mora se pritisnuti samo 1 put nakon unosa informacija zaglavlja. Treba znati i druga pravila. Konkretno, dugme "Dodaj red" mora se pritisnuti svaki put nakon unosa vrednosti za svaku vrstu aktivnosti u tabelu. Nakon unosa svih podataka potrebno je pritisnuti dugme "Završi", a zatim se prebaciti na prozor "Excel".

Sada znate kako riješiti Excel zadatke pomoću makronaredbi. Mogućnost korištenja vba excel-a (pogledajte primjere programa iznad) može biti potrebna i za rad u okruženju trenutno najpopularnijeg uređivača teksta "Word". Konkretno, moguće je pisanjem, kao što je prikazano na samom početku članka, ili pisanjem koda za kreiranje dugmadi menija, zahvaljujući kojima se mnoge operacije nad tekstom mogu izvršiti pritiskom na softverske tipke ili kroz "Pregled" karticu i ikonu "Makroi".


knjiga: Korištenje makronaredbi u Excelu.

Stranice: 507

Format: DJVU
veličina: 8.02 Mb

Uprkos moćnoj funkcionalnosti koju pruža Excel korisnički interfejs, postoji niz zadataka koji se mogu izvršiti samo programski. Korišćenje makronaredbi u Excelu predstavlja uvod u Excel VBA programiranje sa primerima kako da rešite niz praktičnih Excel problema.Materijal knjige namijenjen je korisnicima Excela, kao i programerima koji nisu upoznati sa Excel objektnim modelom. Uz teme o razvoju makroa za Excel 2002, nudi uvodni kurs o pisanju makroa i programa u Excelu.

knjiga: Vikend intenzivni kurs programiranja u Excelu

Izdavač: Dijalektika
Stranice: 421
Format: DJVU
veličina: 12.6 Mb
kvaliteta: Normalno
Jezik: ruski
žanr: programiranje
Godina izdavanja: 2004
ISBN: 5-8459-0687-3

Mogućnosti Microsoft Excel-a nisu ograničene na rad sa tabelama podataka. Iza alata za proračunske tablice krije se moćan programski jezik - VBA (Visual Basic za aplikacije). Međutim, gotovo svaki korisnik ima priliku naučiti kako pisati programe u VBA za rješavanje najrazličitijih zadataka u Excelu - od mehaničkog izvođenja proračuna do kreiranja sistema za unos podataka sa vlastitim ekranskim formama i sa mogućnošću revizije ispravnosti. od upisanih vrijednosti.

knjiga: VBA programiranje 2002

kvaliteta: Normalno
Jezik: ruski
žanr: programiranje

Knjiga sadrži kurs programiranja u Visual Basicu za aplikacije (VBA), koji je osnovni jezik u Microsoft Office aplikacijama (Word, Excel, Access, PowerPoint, FrontPage, Visio, itd.). Knjiga je namenjena početnicima da programiraju u Windows okruženju koristeći Word-, Excel-, PowerPoint-objekte.Deo knjige posvećen je razvoju Office aplikacija koje koriste baze podataka pohranjene u zasebnim datotekama i na udaljenim serverima.Materijal knjige dovoljan je za učenje osnova jezika Visual Basic i kreiranje jednostavnih makroa koji pomažu u automatizaciji rutinskog ponavljajućeg rada s dokumentima, proračunskim tabelama, grafikonima, prezentacijama itd., kao i za razvoj prilično složenih aplikacija baze podataka pomoću dijaloga. kutije koje korisniku pružaju najsavremenija sredstva interfejsa.Većina primera u knjizi posvećena je aktuelnim pitanjima komercijalne delatnosti, pa će knjiga biti veoma korisna za menadžere različitih nivoa, koji su, po svemu sudeći, namenjeni i za Microsoft Office i za ugrađeni programski jezik VBA.
Dodaci na kraju knjige mogu poslužiti kao zgodna referenca kada radite i sa VBA i sa redovnim VB.

knjiga: Profesionalno VBA programiranje u Excel 2003
John Walkenbach
Izdavač: Williams
Format: PDF
veličina: 11 Mb
kvaliteta: Odlično
Jezik: ruski
Godina izdavanja: 2005
ISBN: 5-8459-0771-3
Uz knjigu dolazi i disk

Mnoge knjige su napisane u Excelu. Ali ova knjiga je posebna – razvija aplikaciju za tabelarne proračune u širokom kontekstu. VBA je samo jedna komponenta prilagođenog okruženja za razvoj aplikacija, iako vrlo bitna. Ova knjiga će vam pomoći da razumete zamršenosti razvoja aplikacija pomoću VBA. Opisuje mnoge karakteristike VBA jezika, njegove mogućnosti i okruženje za korišćenje.Prvo će vam biti ponuđen pregled mogućnosti programa, zatim ćete preći na definisanje koncepata VBA programiranja, a zatim ćete se upoznati. sa samim jezikom. Ako ste početnik VBA programer, onda ćete u ovoj publikaciji pronaći sve potrebne informacije koje su vam potrebne za dalji rad. ako već imate zavidno iskustvo sa VBA, onda će ova knjiga obogatiti i povećati vaše znanje, dodajući nove tehnike i primere iz stvarnog života.

pdf verziju je uredio i ljubazno dao saradnik.

knjiga: :
John Walkenbach
Izdavač: Wiley
Format: PDF
Stranice: 1308
veličina: 11.9 MB
kvaliteta: Odlično
Jezik: engleski
Godina izdavanja: 2010
Ova knjiga se fokusira na Visual Basic za aplikacije (VBA), programski jezik ugrađen u Excel (i druge aplikacije koje čine Microsoft Office). Konkretnije, pokazat će vam kako pisati programe koji automatiziraju različite zadatke u Excelu. Ova knjiga pokriva sve, od snimanja jednostavnih makroa do kreiranja sofisticiranih korisnički orijentiranih aplikacija i uslužnih programa. Ova knjiga ne pokriva Microsoft Visual Studio alate za Office (VSTO). VSTO je relativno nova tehnologija koja koristi Visual Basic .NET i Microsoft Visual C #. VSTO se takođe može koristiti za kontrolu Excel i drugih Microsoft Office aplikacija.
Ovo nije knjiga za početnike u Excelu. Ako nemate iskustva s Excelom, bolji izbor bi mogao biti Excel 2010 Bible, koji pruža sveobuhvatan pregled svih funkcija Excela. Knjiga je namijenjena korisnicima svih nivoa.

knjiga: : Profesionalno VBA programiranje u Excel 2010
John Walkenbach
Izdavač: Dijalektika
Format: PDF
Stranice:920
veličina: 22,1 MB
kvaliteta: Odlično
Jezik: ruski
Godina izdavanja: 2010 Predmet ove knjige je programski jezik Visual Basic za aplikacije (VBA), koji je ugrađen u Excel, kao i druge aplikacije koje su dio Microsoft Officea. Detaljno opisuje kreiranje programa koji automatiziraju izvršavanje različitih zadataka u Excelu, a također pokriva širok spektar drugih tema - od pisanja najjednostavnijih makroa do kreiranja najsloženijih aplikacija i uslužnih programa dizajniranih za interakciju korisnika. Ova knjiga ne opisuje softverski paket Microsoft Visual Studio Tools za Office (VSTO). To je oličenje relativno nove tehnologije koja koristi Visual Basic .NET i Microsoft Visual C #. VSTO tehnologija se takođe može koristiti za kontrolu ponašanja Excel i drugih Microsoft Office aplikacija.

Ova knjiga nije namijenjena početnicima u Excelu. Ako nemate iskustva sa ovom aplikacijom, onda prvo pročitajte radnu svesku Excel 2010. Korisničku Bibliju, koja detaljno objašnjava sve karakteristike Excel-a (namijenjena je korisnicima svih nivoa).


knjiga:VBA tutorial
Garnaev A.
Izdavač: bhv
Stranice: 512
Format: html sa slikama u rar formatu
ISBN: 5-8206-0067-3
veličina: 2.22 Mb

Odlično

Jezik: engleski
Godina izdavanja: 2009

Microsoft Excel je mnogo više od obične tabele. Uvođenjem Visual Basic Editor-a u Excel 97, nakon čega je uslijedila značajno poboljšana stabilnost Excela 2000, Excel je postao cijenjena razvojna platforma za sebe. Excel aplikacije se sada nalaze uz one zasnovane na C++, Javi i razvojnoj platformi .NET, kao dio osnovnog paketa kritičnih korporativnih aplikacija.
Nažalost, Excel se još uvijek prečesto smatra hobističkom platformom, da ljudi samo razvijaju Excel aplikacije u svoje slobodno vrijeme kako bi automatizirali manje zadatke. Čini se da kratak pregled mnogih Excel VBA knjiga potvrđuje ovo mišljenje. Ove knjige se fokusiraju na osnove automatizacije Excel zadataka pomoću VBA. Ova knjiga je prva te vrste koja pruža detaljno objašnjenje kako koristiti Excel kao platformu za razvoj aplikacija profesionalnog kvaliteta.
Dok se čini da većina drugih velikih razvojnih platformi ima de facto standardni tekst koji objašnjava opšte dogovorene najbolje prakse za arhitekturu, projektovanje i razvoj aplikacija koristeći tu platformu, Excel do sada nije imao. Ova knjiga pokušava popuniti tu prazninu. Autori su profesionalni Excel programeri koji kreiraju aplikacije zasnovane na Excelu za klijente u rasponu od pojedinaca do najvećih multinacionalnih korporacija. Ova knjiga objašnjava pristupe koje koristimo prilikom dizajniranja, razvoja, distribucije i podrške aplikacijama koje pišemo za naše klijente.
Ovu knjigu je doprinio korisnik

Sljedeći jednostavni primjeri Excel makroa ilustriraju neke od funkcija i tehnika opisanih u Excel VBA vodiču.

Excel makro: primjer 1

U početku ovaj postupak Sub dat je kao primjer korištenja komentara u VBA kodu. Međutim, ovdje također možete vidjeti kako su varijable deklarirane, kako funkcioniraju reference ćelija u Excelu, koristeći petlju Za, uslovni operator Ako i prikaz okvira sa porukom.

"Sub procedura traži ćeliju koja sadrži navedeni niz" u rasponu ćelija A1: A100 aktivnog lista Sub Find_String (sFindText As String) Dim i As Integer "Cijeli broj tipa Integer, koji se koristi u For petlji Dim iRowNumber As Integer" Cijeli broj tipa Integer za pohranjivanje rezultata iRowNumber = 0 "Pregleda ćelije A1: A100 jednu za drugom dok se ne pronađe niz sFindText For i = 1 Do 100 If Cells (i, 1) .Value = sFindText Then" Ako se pronađe podudaranje sa datim nizom " sačuvajte trenutni broj reda i izađite iz petlje For iRowNumber = i Izađite za kraj If Next i "Obavještavamo korisnika u iskačućem prozoru da li je pronađen red za pretragu" Ako je specificirano red je pronađen, naznačite u kojoj ćeliji je pronađeno podudaranje Ako je iRowNumber = 0 Tada MsgBox "String" & sFindText & "not found" Inače MsgBox "String" & sFindText & "pronađeno u ćeliji A" & iRowNumber End If End Sub

Excel makro: primjer 2

Sljedeća procedura Sub- primjer korištenja petlje Uradi dok... Ovdje također možete vidjeti kako se deklariraju varijable, kako se radi s referencama Excel ćelija i kako primijeniti uvjetni operator. Ako.

"Sub procedura daje Fibonaccijeve brojeve koji ne prelaze 1000 Sub Fibonacci () Dim i As Integer" Brojač za indikaciju položaja elementa u nizu Dim iFib As Integer "Skladišti trenutnu vrijednost niza Dim iFib_Next As Integer" Pohranjuje sljedeću vrijednost niza Dim iStep As Integer "Skladišti veličinu sljedećeg inkrementa "Inicijaliziraj varijable i i iFib_Next i = 1 iFib_Next = 0" Do While petlja će se izvoditi dok vrijednost "trenutnog Fibonaccijevog broja ne pređe 1000 Do While iFib_Next< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

Excel makro: primjer 3

Ova procedura Sub petlje kroz ćelije kolone A aktivni list dok ne naiđe na praznu ćeliju. Vrijednosti se zapisuju u niz. Ovaj jednostavan Excel makro demonstrira rad sa dinamičkim nizovima kao i korištenje petlje Uradi do... U ovom primjeru nećemo izvoditi nikakve radnje s nizom, iako se u stvarnoj praksi programiranja, nakon što se podaci upisuju u niz, takve akcije se obično izvode na njima.

"Sub procedura pohranjuje vrijednosti ćelija u koloni A aktivnog lista u nizu Sub GetCellValues ​​() Dim iRow As Integer" Pohranjuje broj trenutnog reda Dim dCellValues ​​() kao dvostruki "Niz za pohranjivanje vrijednosti ćelija iRow = 1 ReDim dCellValues ​​(1 do 10)" Loop Do Until petlja kroz ćelije kolone A aktivnog lista "i izdvaja njihove vrijednosti u niz dok se ne isprazni ćelija Do Until IsEmpty (Cells (iRow, 1))" Provjerite da li niz dCellValues ​​ima dovoljnu veličinu "Ako ne, povećajte niz veličine za 10 koristeći ReDim If UBound (dCellValues)< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

Excel makro: primjer 4

U ovom primjeru, postupak Subčita vrijednosti iz kolone A radni list Sheet2 i izvodi aritmetičke operacije sa njima. Rezultati se zapisuju u ćelije kolone A na aktivnom radnom listu. Ovaj makro demonstrira upotrebu Excel objekata. Konkretno, žalba se podnosi postupkom Sub prema objektu Kolone, i pokazuje kako se ovom objektu pristupa preko objekta Radni list... Takođe je prikazano da kada se upućuje na ćeliju ili opseg ćelija na aktivnom listu, nije potrebno navesti ime ovog lista prilikom pisanja veze.

"Podprocedura koja koristi petlju čita vrijednosti u stupcu A radnog lista Sheet2," izvodi aritmetičke operacije sa svakom vrijednošću i upisuje rezultat u "kolona A aktivnog radnog lista (Sheet1) Sub Transfer_ColA () Dim i As Integer Dim Col As Range Dim dVal As Double "Dodijelite kolonu A radnog lista Col varijablu List 2 Postavite Col = Sheets (" Sheet2 "). Kolone (" A ") i = 1" Koristeći petlju, pročitajte vrijednosti ćelija u Col do "dok se ne naiđe na praznu ćeliju Do Until IsEmpty (Col.Cells (i)) "Izvodimo aritmetičke operacije na vrijednosti trenutne ćelije dVal = Col.Cells (i) .Value * 3 - 1" Sljedeća naredba upisuje rezultat u kolonu A aktivnog radnog lista "Navedite ime lista u vezi nije potrebno jer je ovo aktivni list Ćelije (i, 1) = dVal i = i + 1 Loop End Sub

Excel makro: primjer 5

Ovaj makro prikazuje primjer VBA koda koji prati Excel događaj. Događaj na koji je makro obavezan javlja se svaki put kada se na radnom listu odabere ćelija ili raspon ćelija. U našem slučaju, prilikom odabira ćelije B1, na ekranu se prikazuje prozor sa porukom.

"Ovaj kod prikazuje prozor s porukom ako je ćelija B1 odabrana na trenutnom radnom listu" Privatni pod Radni list_IzborPromjena (ByVal Target As Range) "Provjerite da li je odabrana ćelija B1 ako je Target.Count = 1 i Target.Row = 1 i Target. Kolona = 2 Zatim "Ako je odabrana ćelija B1, izvršite potrebnu radnju MsgBox" Izabrali ste ćeliju B1 "Završi ako završi pod

Excel makro: primjer 6

Ovaj postupak ilustruje upotrebu operatora On Error i Nastavi za obradu grešaka. Ovaj kod također pokazuje primjer otvaranja i čitanja podataka iz datoteke.

"Sub procedura postavlja argumente Val1 i Val2 na vrijednosti ćelija A1 i B1" iz radne knjige Data.xlsx koja se nalazi u mapi C: \ Documents and Settings Sub Set_Values ​​(Val1 As Double, Val2 As Double) Dim DataWorkbook As Workbook On Error Idi na ErrorHandling " Otvorite radnu svesku sa podacima Set DataWorkbook = Workbooks.Open ("C: \ Documents and Settings \ Data") "Dodijelite vrijednosti Val1 i Val2 varijabli iz navedene radne knjige Val1 = Sheets ( " Sheet1 "). Ćelije (1, 1) Val2 = Sheets ("Sheet1"). Ćelije (1, 2) DataWorkbook.Close Exit Sub ErrorHandling: "Ako datoteka nije pronađena, od korisnika će biti zatraženo da unese željeni fajl" u željenoj fascikli, a zatim nastavite sa izvršavanjem makronaredbe MsgBox "Datoteka Data.xlsx nije pronađena! "& _" Molimo dodajte radnu svesku u fasciklu C: \ Dokumenti i postavke i kliknite na OK "Nastavi kraj sub

Top srodni članci