Operacije sa Microsoft Excel objektima. Kontrole obrasca u MS EXCEL-u

Kontrole obrasca (Combo Box, Checkbox, Counter, itd.) pomažu vam da brzo promijenite podatke na listu u određenom rasponu, uključite i isključite opcije, napravite odabire itd. U principu, možete i bez njih, ali one rade vizualnije kontrolišu podatke na listu i smanjuju mogućnost unosa pogrešnih podataka.

Da biste umetnuli kontrole na list, morate prikazati karticu Developer.

  • U MS EXCEL 2007, to se može uraditi preko menija Dugme Office/ Excel opcije/ Općenito/ Prikaži karticu programera na traci .
  • U MS EXCEL 2010 to se može učiniti na sljedeći način: Otvorite karticu File; Kliknite na dugme Opcije; Kliknite na dugme Prilagodite traku; Odaberite tim Prilagođavanje trake i glavne kartice označite polje Developer.

Sada možete umetnuti kontrolu kroz meni: .

Imajte na umu da u ovom meniju možete umetnuti ActiveX kontrole koje se nalaze ispod kontrola obrasca koje nas zanimaju. Oba tipa imaju iste elemente Button, List, Checkbox, itd. Razlika između njih je u tome što morate koristiti VBA da biste koristili ActiveX kontrole, dok kontrole obrasca mogu biti direktno vezane za ćeliju na listu.

Za one koji ranije nisu radili sa kontrolama obrasca, preporučujemo da se s njima detaljno upoznaju u sljedećim člancima:

U ovom članku ćemo pogledati složeniji primjer kontrola dijeljenja i .

Primjer

Hajde da analiziramo konkretan primjer korištenja nekoliko kontrola odjednom. Uzorak datoteke pokazuje kako korisnik može uređivati ​​vrijednosti u tablici pomoću kontrola (opseg F9:K12 ).

Sa jednom od 3 kontrole Kombinovani okvir, lista i Counter, korisnik može odabrati kolonu tabele (godina) . Željena kontrola se bira pomoću grupe prekidači. Naziv odabranog elementa je označen sivom bojom (vidi Sl. A8:B8 na sl. gore). Odabrana godina je u tabeli označena tamno sivom (vidi Sl. H9:H12 na sl. gore). Prikaz ovog odabira je podesiv polje za potvrdu(pozadina zastave je crvena). trake za pomicanje može se uređivati Cijena i Količina u odabranoj godini, ali samo u određenom rasponu. Sada - detaljnije.

Prekidači

Prvo, ubacimo element u list. Ovim elementom ćemo uključiti i isključiti izbor u tabeli kolone odabrane godine. Povežite element sa ćelijom $G$2 . Ako je polje za potvrdu poništeno, tada će ova ćelija biti FALSE (ova vrijednost odgovara 0), ako je označena, onda TRUE (ova vrijednost odgovara 1).

Odaberite raspon za podešavanje. G9:K12 . Budući da će formula u uvjetnom oblikovanju sadržavati , pobrinut ćemo se da nakon odabira raspona, aktivna ćelija bude G9 (tj. raspon mora biti odabran počevši od nje. Nagoveštaj je polje Ime, koji se nalazi lijevo od Trake formule. Nakon odabira raspona, on bi trebao sadržavati G 9 ).

  • pozovi alat ( Početna/ Stilovi/ Uvjetno oblikovanje/ Kreiraj pravilo);
  • izaberite Koristite formulu definirati formatirane ćelije;
  • u polju" Formatirajte vrijednosti za koje je sljedeća formula tačna» enter =AND(COLUMN(G9)=Pomak godine+6,$G$2) Formula će postati TRUE kada se istovremeno ispune 2 uslova:
  • vrijednost izraza ( OffsetYear(promjene od 1 do 5 (tj. 2009. do 2013.) + 6) odgovara trenutnom broju kolone (7, tj. 2009.);
  • Polje za potvrdu Uslovno formatiranje instaliran.
  • odaberite željeni format, na primjer, sivu boju ispune;
  • kliknite na OK.

Testiranje

  • provjerite je li polje za potvrdu postavljeno Uslovno formatiranje instaliran;
  • izaberite radio dugme Lista;
  • u kontroli Lista izaberite 2010;
  • provjerite kolonu 2010 istaknuto sivom bojom;
  • traka za pomeranje promijenite količinu u koloni 2010.

Rezultat je prikazan na slici.

Nažalost, kontrole obrasca Polje za potvrdu, kombinirani okvir i Lista ne postoji način da se formatira prikazani font. Ali ovo se može uraditi za ActiveX kontrole ( Developer/ Controls/ Paste). Istina, da biste radili sa ovim elementima, morate napisati program u VBA.

Da biste olakšali unos podataka u tablicu u Excelu, možete koristiti posebne obrasce koji će vam pomoći da ubrzate proces popunjavanja raspona tablice informacijama. Excel ima ugrađeni alat koji vam omogućava da ispunite ovaj način. Također, korisnik može kreirati vlastitu verziju obrasca, koja će biti maksimalno prilagođena njegovim potrebama, koristeći za to makro. Pogledajmo različite upotrebe ovih korisnih alata za popunjavanje u Excelu.

Obrazac za popunjavanje je objekat sa poljima čija imena odgovaraju nazivima kolona kolona tabele koja se popunjava. Potrebno je da unesete podatke u ova polja i oni će odmah biti dodani kao novi red u opseg tabele. Obrazac može djelovati i kao poseban ugrađeni Excel alat, i lociran direktno na listu kao njegov raspon, ako ga kreira sam korisnik.

Pogledajmo sada kako koristiti ove dvije vrste alata.

Metoda 1: Ugrađeni objekt za unos podataka u Excelu

Prije svega, naučimo kako koristiti ugrađeni obrazac za unos podataka u Excelu.

  1. Treba napomenuti da je po defaultu ikona koja ga pokreće skrivena i da je treba aktivirati. Da biste to učinili, idite na karticu "File", a zatim kliknite na stavku "Opcije".
  2. U prozoru opcija programa Excel koji se otvori, pređite na odjeljak "Traka sa alatima za brzi pristup". Veći dio prozora zauzima opsežna oblast postavki. Na lijevoj strani nalaze se alati koji se mogu dodati na alatnu traku za brzi pristup, a na desnoj strani su oni koji su već prisutni.

    Na terenu "Odaberi komande iz" postavljena vrijednost "Komande nisu na vrpci". Dalje, sa liste komandi, raspoređenih po abecednom redu, nalazimo i biramo poziciju "Obrazac...". Zatim kliknite na dugme "Dodati".

  3. Nakon toga, alat koji nam je potreban biće prikazan na desnoj strani prozora. Kliknite na dugme uredu.
  4. Sada se ovaj alat nalazi u Excel prozoru na alatnoj traci za brzi pristup i možemo ga koristiti. Biće prisutan kada ova instanca Excel-a otvori bilo koju radnu svesku.
  5. Sada, da bi alat shvatio šta tačno treba da popuni, trebalo bi da dizajnirate zaglavlje tabele i upišete bilo koju vrednost u njemu. Neka se tabelarni niz koji imamo sastoji od četiri kolone koje imaju imena "Naziv proizvoda", "Količina", "Cijena" i "Suma". Ove nazive unosimo u proizvoljan horizontalni raspon lista.
  6. Takođe, da bi program tačno razumeo sa kojim rasponima treba da radi, trebalo bi da unesete bilo koju vrednost u prvi red niza tabele.
  7. Nakon toga, odaberite bilo koju ćeliju prazne tabele i kliknite na ikonu na traci sa alatkama za brzi pristup "Obrazac...", koji smo prethodno aktivirali.
  8. Dakle, otvara se prozor navedenog alata. Kao što vidite, ovaj objekat ima polja koja odgovaraju imenima kolona našeg niza tablica. U ovom slučaju, prvo polje je već popunjeno vrijednošću, jer smo je ručno unijeli na list.
  9. Unesite vrijednosti koje smatramo potrebnim u preostala polja, a zatim kliknite na dugme "Dodati".
  10. Nakon toga, kao što vidimo, unesene vrijednosti su automatski prebačene u prvi red tabele, a u formi je došlo do prelaska na sljedeći blok polja, koji odgovaraju drugom redu niza tablice.
  11. Popunimo prozor alata sa vrednostima koje želimo da vidimo u drugom redu oblasti tabele i ponovo kliknemo na dugme "Dodati".
  12. Kao što vidite, dodane su i vrijednosti drugog reda, a nismo ni morali da preuređujemo kursor u samoj tabeli.
  13. Dakle, popunjavamo niz tablice svim vrijednostima koje želimo u njega unijeti.
  14. Osim toga, ako želite, možete se kretati kroz prethodno unesene vrijednosti pomoću dugmadi "nazad" i "Dalje" ili vertikalna traka za pomicanje.
  15. Ako je potrebno, možete ispraviti bilo koju vrijednost u nizu tablice mijenjajući je u obrascu. Da bi promjene bile prikazane na listu, nakon što ih napravite u odgovarajućem bloku alata, kliknite na dugme "Dodati".
  16. Kao što vidite, promjena se odmah dogodila u području tabele.
  17. Ako trebamo izbrisati neki red, onda preko navigacijskih tipki ili trake za pomicanje prelazimo na blok polja koji mu odgovaraju u obrascu. Nakon toga kliknite na dugme "Izbriši" u prozoru alata.
  18. Otvara se dijaloški okvir upozorenja koji vas obavještava da će red biti uklonjen. Ako ste sigurni u svoje postupke, kliknite na dugme uredu.
  19. Kao što vidite, linija je izvučena iz raspona tabele. Nakon što je popunjavanje i uređivanje završeno, možete izaći iz prozora alata klikom na dugme "Zatvori".
  20. Nakon toga, kako bi se nizu tablice dao vizuelniji izgled, može se izvršiti formatiranje.

Metoda 2: Kreirajte korisnički obrazac

Osim toga, uz pomoć makronaredbe i niza drugih alata, moguće je kreirati vlastiti korisnički obrazac za popunjavanje područja tablice. Kreiraće se direktno na listu i predstavljaće njegov opseg. Uz pomoć ovog alata, sam korisnik će moći implementirati one značajke koje smatra potrebnima. Što se tiče funkcionalnosti, on praktički ni na koji način neće ustupiti ugrađenom analogu Excela, a na neki način ga možda i nadmašiti. Jedina mana je što ćete morati kreirati poseban obrazac za svaki niz tablica, a ne koristiti isti predložak, kao što je moguće sa standardnom verzijom.

  1. Kao iu prethodnoj metodi, prije svega, morate napraviti zaglavlje za buduću tablicu na listu. Sastojat će se od pet ćelija s imenima: "br. p/p", "Naziv proizvoda", "Količina", "Cijena", "Suma".
  2. Zatim moramo napraviti takozvanu „pametnu“ tablicu iz našeg niza tablica, s mogućnošću automatskog dodavanja redova prilikom popunjavanja susjednih raspona ili ćelija podacima. Da biste to učinili, odaberite zaglavlje i, nalazite se na kartici "Dom", kliknite na dugme "Formatiraj kao tabelu" u kutiji sa alatima "stilovi". Ovo otvara listu dostupnih opcija stila. Odabir jednog od njih ni na koji način neće utjecati na funkcionalnost, pa jednostavno biramo opciju koju smatramo prikladnijom.
  3. Zatim se otvara mali prozor za formatiranje tabele. Određuje raspon koji smo prethodno odabrali, odnosno raspon zaglavlja. U pravilu je sve u ovom polju ispravno popunjeno. Ali trebali bismo označiti kućicu pored parametra "Tabela sa zaglavljima". Nakon toga kliknite na dugme uredu.
  4. Dakle, naš asortiman je formatiran kao "pametna" tabela, o čemu svjedoči čak i promjena vizualnog prikaza. Kao što možete vidjeti, između ostalog, ikone filtriranja pojavile su se pored imena zaglavlja svakog stupca. Trebali bi biti onemogućeni. Da biste to učinili, odaberite bilo koju ćeliju "pametne" tablice i idite na karticu "Podaci". Tamo na vrpci u kutiji s alatima "Sortiraj i filtriraj" kliknite na ikonu "filter".

    Postoji još jedna opcija da onemogućite filter. U tom slučaju neće biti potrebno ni preći na drugu karticu, ostajući na kartici "Dom". Nakon odabira ćelije područja tablice na traci u bloku postavki "Uređivanje" kliknite na ikonu "Sortiraj i filtriraj". Izaberite stavku sa liste koja se pojavi. "filter".

  5. Kao što vidite, nakon ove akcije, ikone filtriranja su nestale iz zaglavlja tabele, prema potrebi.
  6. Zatim moramo kreirati sam obrazac za unos podataka. To će također biti neka vrsta tabelarnog niza koji se sastoji od dvije kolone. Imena redova ovog objekta će odgovarati imenima kolona glavne tabele. Kolone su izuzetak. "br. p/p" i "Suma". Oni će biti odsutni. Numeracija prvog od njih će se obaviti pomoću makroa, a izračunavanje vrijednosti u drugom izvršit će se primjenom formule za množenje količine sa cijenom.

    Ostavimo drugu kolonu objekta za unos podataka praznu za sada. Vrijednosti će biti unesene direktno u njega kasnije kako bi se popunili redovi glavnog raspona tabele.

  7. Nakon toga kreiramo još jednu malu tablicu. Sastojat će se od jedne kolone i sadržavat će listu proizvoda koje ćemo prikazati u drugoj koloni glavne tabele. Radi jasnoće, ćelija s naslovom ove liste ( "Lista proizvoda") može se ispuniti bojom.
  8. Zatim biramo prvu praznu ćeliju objekta za unos vrijednosti. Idi na karticu "Podaci". Kliknite na ikonu "Provjera valjanosti podataka", koji se nalazi na vrpci u kutiji s alatima "Rad sa podacima".
  9. Otvara se prozor za potvrdu unosa. Kliknite na polje "Tip podataka", što je zadano "Bilo koja vrijednost".
  10. Odaberite poziciju iz opcija koje se pojavljuju. "Lista".
  11. Kao što vidite, nakon toga je prozor za provjeru ulaznih vrijednosti donekle promijenio svoju konfiguraciju. Dodato dodatno polje "izvor". Levim tasterom miša kliknemo na ikonu desno od nje.
  12. Tada se prozor za validaciju unosa minimizira. Kursorom i pritiskom lijeve tipke miša biramo listu podataka koji se postavljaju na list u dodatnom području tabele "Lista proizvoda". Nakon toga ponovo kliknite na ikonu desno od polja u kojem se pojavila adresa odabranog raspona.
  13. Postoji povratak u prozor za provjeru unesenih vrijednosti. Kao što vidite, koordinate odabranog raspona su već prikazane u polju "izvor". Kliknemo na dugme uredu na dnu prozora.
  14. Sada, desno od odabrane prazne ćelije objekta za unos podataka, pojavila se ikona u obliku trokuta. Kada kliknete na nju, otvara se padajući popis koji se sastoji od imena koja se izvlače iz niza tablica "Lista proizvoda". Sada je nemoguće unijeti proizvoljne podatke u navedenu ćeliju, već možete odabrati samo željenu poziciju sa prikazane liste. Odaberite stavku na padajućoj listi.
  15. Kao što vidite, odabrana pozicija se odmah prikazuje u polju "Naziv proizvoda".
  16. Zatim ćemo morati dodijeliti imena trima ćelijama obrasca za unos u koje ćemo unijeti podatke. Odaberite prvu ćeliju, gdje je ime već postavljeno u našem slučaju "krompir". Zatim idite na polje naziva raspona. Nalazi se na lijevoj strani Excel prozora na istoj razini kao i traka formule. Tamo unesite proizvoljno ime. To može biti bilo koje ime na latinskom, u kojem nema razmaka, ali je bolje koristiti imena koja su bliska zadacima koje rješava ovaj element. Stoga ćemo prvu ćeliju, koja sadrži naziv proizvoda, pozvati Ime. Upišite ovo ime u polje i pritisnite dugme Enter na tastaturi.
  17. Na isti način dodjeljujemo naziv ćeliji u koju ćemo unijeti količinu robe Volume.
  18. I ćelija sa cijenom - Cijena.
  19. Nakon toga, na potpuno isti način, dajemo ime cijelom rasponu od gornje tri ćelije. Prije svega ćemo odabrati, a zatim ćemo mu dati ime u posebnom polju. Neka ovo bude ime Domet.
  20. Nakon posljednje radnje, moramo sačuvati dokument kako bi se imena koja smo dodijelili mogla uočiti makroom koji smo kasnije kreirali. Da sačuvate, idite na karticu "File" i kliknite na stavku "Sačuvaj kao...".
  21. U prozoru za spremanje koji se otvori, u polju "Vrsta fajla" odaberite vrijednost "Excel radna sveska sa omogućenim makroima (.xlsm)". Zatim kliknite na dugme "Sačuvaj".
  22. Zatim biste trebali u svojoj verziji Excela i omogućiti karticu "Programer" ako to već niste učinili. Činjenica je da su obje ove funkcije po defaultu onemogućene u programu, a njihova aktivacija mora biti prisiljena u prozoru opcija programa Excel.
  23. Nakon što to učinite, idite na karticu "Programer". Kliknite na veliku ikonu "Visual basic", koji se nalazi na vrpci u kutiji s alatima "šifra".
  24. Posljednja radnja uzrokuje pokretanje VBA uređivača makroa. Na području Projekt, koji se nalazi u gornjem lijevom dijelu prozora, odaberite naziv lista na kojem se nalaze naše tabele. U ovom slučaju, ovo "list 1".
  25. Nakon toga, idite na donje lijevo područje ​​prozora pod nazivom "Svojstva". Evo postavki za odabrani list. Na terenu "(ime)"Ćirilično ime treba zamijeniti ( "list 1") na ime napisano latinicom. Možete dati bilo koje ime koje vam više odgovara, glavna stvar je da sadrži samo latinične znakove ili brojeve i da nema drugih znakova ili razmaka. Sa ovim imenom će makro raditi. Neka u našem slučaju bude ovo ime proizvod, iako možete odabrati bilo koji drugi koji ispunjava gore opisane uslove.

    Na terenu Ime također možete promijeniti ime u pogodnije. Ali ovo nije obavezno. Dozvoljena je upotreba razmaka, ćirilice i svih drugih znakova. Za razliku od prethodnog parametra, koji specificira ime lista za program, ovaj parametar dodeljuje ime listu koje je vidljivo korisniku u traci prečica.

    Kao što vidite, nakon toga ime će se automatski promijeniti. List 1 u oblasti Projekt, na onu koju smo upravo postavili u postavkama.

  26. Zatim idite na središnji dio prozora. Ovdje ćemo morati napisati sam makro kod. Ako polje uređivača bijelog koda u navedenom području nije prikazano, kao u našem slučaju, kliknite na funkcijsku tipku F7 i pojavit će se.
  27. Sada, za naš konkretni primjer, trebamo napisati sljedeći kod u polje:

    Sub Data EntryForm()
    Dim nextRow As Long
    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    Sa proizvodnjom
    Ako je .Range("A2").Value = "" I .Range("B2").Value = "" Tada
    sljedećiRed = sljedećiRed - 1
    End If
    Production.Range("Name").Copy




    .Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
    Ako je sljedeći red > 2 Onda
    Opseg("A2"). Odaberite


    End If
    .Range("Range").ClearContents
    završiti sa
    end sub

    Ali ovaj kod nije univerzalan, odnosno prikladan je samo za naš slučaj nepromijenjen. Ako ga želite prilagoditi svojim potrebama, onda ga u skladu s tim treba modificirati. Da biste to mogli učiniti sami, pogledajmo od čega se sastoji ovaj kod, šta u njemu treba zamijeniti, a šta ne treba mijenjati.

    Dakle, prva linija:

    Sub Data EntryForm()

    "Obrazac za unos podataka" je naziv samog makroa. Možete ga ostaviti takvog kakav jeste ili ga možete zamijeniti bilo kojim drugim koji zadovoljava opća pravila za kreiranje imena makroa (bez razmaka, korištenje samo latiničnih slova, itd.). Promjena imena neće uticati ni na šta.

    Gdje god se riječ pojavi u kodu proizvod morate ga zamijeniti imenom koje ste prethodno dodijelili svom listu u polju "(ime)" oblasti "Svojstva" macro editor. Naravno, ovo bi trebalo učiniti samo ako ste list nazvali drugačije.

    Sada razmotrite ovu liniju:

    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

    Broj "2" u ovom redu označava drugu kolonu lista. U ovoj koloni se nalazi kolona "Naziv proizvoda". U skladu s tim, brojaćemo redove. Stoga, ako u vašem slučaju slična kolona ima drugačiji redoslijed na računu, tada morate unijeti odgovarajući broj. Značenje "Kraj(xlUp).Offset(1, 0).Row" u svakom slučaju, ostavljamo ga nepromijenjenim.

    Ako je .Range("A2").Value = "" I .Range("B2").Value = "" Tada

    "A2" su koordinate prve ćelije u kojoj će biti prikazana numeracija redova. "B2"- ovo su koordinate prve ćelije na kojoj će biti izlazni podaci ( "Naziv proizvoda"). Ako se za vas razlikuju, unesite svoje podatke umjesto ovih koordinata.

    Idi na liniju

    Production.Range("Name").Copy

    Sadrži parametar Ime znači ime koje smo dali polju "Naziv proizvoda" u formi za unos.

    U redovima

    Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range("Volum").Value
    .Cells(nextRow, 4).Value = Production.Range("Cijena").Value
    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Cijena").Value

    denominacije Volume i Cijena znače imena koja smo dodijelili poljima "Količina" i "Cijena" u istom obliku za unos.

    U istim redovima koje smo naveli iznad, brojevi "2", "3", "četiri", "5" označavaju brojeve kolona na Excel listu koji odgovaraju kolonama "Naziv proizvoda", "Količina", "Cijena" i "Suma". Stoga, ako je u vašem slučaju tabela pomaknuta, tada morate navesti odgovarajuće brojeve stupaca. Ako ima više stupaca, onda po analogiji, trebate dodati njegove linije u kod, ako ih ima manje, onda uklonite dodatne.

    Linija množi količinu proizvoda sa njegovom cijenom:

    Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Cijena").Value

    Rezultat će, kao što vidimo iz sintakse zapisa, biti prikazan u petoj koloni Excel lista.

    Ovaj izraz izvodi automatsko numerisanje redova:

    Ako je sljedeći red > 2 Onda
    Opseg("A2"). Odaberite
    Selection.AutoFill Destination:=Raspon("A2:A" & nextRow)
    Raspon("A2:A" & nextRow).Odaberite
    End If

    Sve vrijednosti "A2" označava adresu prve ćelije na kojoj će se izvršiti numerisanje i koordinate " A"- adresu cijele kolone sa numeracijom. Provjerite gdje će tačno numeracija biti prikazana u vašoj tabeli i promijenite ove koordinate u kodu, ako je potrebno.

    Linija briše opseg obrasca za unos podataka nakon što su informacije iz njega prebačene u tabelu:

    Raspon("Diapason").ClearContents

    Nije teško to pogoditi Domet) označava naziv opsega koji smo prethodno dodijelili poljima za unos podataka. Ako ste im dali drugačije ime, onda to treba ubaciti u ovaj red.

    Ostatak koda je univerzalan i ostat će nepromijenjen u svim slučajevima.

    Nakon što ste upisali makro kod u prozor uređivača, trebate kliknuti na ikonu za spremanje diskete na lijevoj strani prozora. Zatim ga možete zatvoriti klikom na standardno dugme za zatvaranje prozora u gornjem desnom uglu.

  28. Nakon toga se vraćamo na Excel list. Sada moramo postaviti dugme koje će aktivirati kreirani makro. Da biste to učinili, idite na karticu "Programer". U bloku postavki "kontrole" kliknite na dugme na traci "ubaci". Otvara se lista alata. U grupi alata "Kontrole obrasca" izabrati prvo "dugme".
  29. Zatim, držeći lijevu tipku miša pritisnutu, kružimo područje gdje želimo postaviti dugme za pokretanje makroa, koje će prenijeti podatke iz obrasca u tabelu.
  30. Nakon što je područje zaokruženo, otpustite tipku miša. Zatim se automatski pokreće prozor za dodeljivanje makronaredbe objektu. Ako vaša knjiga koristi nekoliko makronaredbi, odaberite naziv onog koji smo kreirali iznad sa liste. Mi to zovemo "Obrazac za unos podataka". Ali u ovom slučaju postoji samo jedan makro, pa ga samo odaberite i kliknite na dugme uredu na dnu prozora.
  31. Zatim možete preimenovati dugme kako god želite tako što ćete jednostavno označiti njegovo trenutno ime.

    U našem slučaju, na primjer, bilo bi logično da joj damo ime "Dodati". Preimenujte i kliknite na bilo koju slobodnu ćeliju lista.

  32. Dakle, naš obrazac je potpuno spreman. Hajde da proverimo kako to funkcioniše. Unesite tražene vrijednosti u njegova polja i kliknite na dugme "Dodati".
  33. Kao što vidite, vrijednosti se premeštaju u tabelu, liniji se automatski dodeljuje broj, iznos se izračunava, polja obrasca se brišu.
  34. Popunite formular ponovo i kliknite na dugme "Dodati".
  35. Kao što vidite, drugi red se takođe dodaje nizu tabele. To znači da alat radi.

Napomena: Predavanje je posvećeno opisu objektnog modela MS Excel i Detaljan opis metode, svojstva i događaji aplikacije.

13.1. Karakteristike programiranja za MS Excel

Microsoft Office Excel su popularne tabele. Obično, programirajući za ovaj program, oni slijede sljedeće ciljeve:

  • Automatizacija proračuna.
  • Automatizacija unosa i obrade informacija.
  • Rad sa bazama podataka - izlaz, unos, analiza, vizualizacija informacija.
  • Analiza finansijskih i drugih informacija.
  • Izrada sistema za organizovanje automatizovanog unosa podataka
  • Matematičko modeliranje.

Uglavnom programiranje u Excelu je sličan radu sa Microsoft Wordom. Međutim, jedna od glavnih razlika je u tome što je u Excelu radni prostor radnog lista podijeljen na ćelije od kojih svaka ima svoje ime. Imena ćelija mogu biti dva tipa.

  • Prva vrsta (stil A1) je ime, koje se sastoji od literalnog naziva kolone i broja reda. Na primjer, A1 je ćelija koja se nalazi na raskrsnici kolone A (prve) i prvog reda.
  • Druga vrsta su indeksi ćelija (stil imenovanja R1C1). Da biste adresirali ćeliju u ovom stilu, navedite broj reda (R - Red - linija) i broj kolone (C - Kolona - kolona), na čijem se presjeku ćelija nalazi. Redovi su inicijalno numerisani, a brojevi kolona počinju od 1 - prva kolona odgovara koloni A, druga - B, itd. Na primjer, (2, 3) je adresa ćelije koja se nalazi na raskrsnici drugog reda i treće kolone, odnosno, ako ovo prebacimo u stil A1, dobićemo ćeliju C2 (slika 13.1.)


Rice. 13.1.

Sljedeći objekti se koriste za izvođenje većine operacija u MS Excelu.

  • Excel.Application (Aplikacija) - Objekt koji predstavlja Microsoft Excel aplikaciju, sličan Word.Application .
  • Radna sveska(Radna sveska) - predstavlja radnu svesku - analogno Microsoft Word dokumentu. Međutim, u Wordu radimo sa podacima koji se nalaze u dokumentu, au Excelu postoji još jedan objekat na putu do podataka - radni list.
  • Radni list(Radni list) - radna sveska u MS Excel-u je podijeljena na radne listove. Na listu se nalaze ćelije koje mogu pohraniti informacije i formule.
  • Raspon (Raspon) - može se predstaviti kao jedna ćelija ili grupa ćelija. Ovaj objekat zamjenjuje mnoge objekte za rad s elementima dokumenta (znak, riječ, itd.) koji se koriste u programu Microsoft Word. Kao rezultat toga, rad s listom postaje vrlo jasan i praktičan - za rad s bilo kojom ćelijom trebate znati samo njeno ime (u formatu A1) ili adresu (R1C1).
  • QueryTable (Tabela upita) - ovaj objekat se koristi za uvoz informacija iz baza podataka u Microsoft Excel. Veza sa bazom podataka, zahtjev za informacijama itd. se proizvode pomoću objekta, a rezultati upita se učitavaju u MS Excel list u obliku obične tabele.
  • Zaokretna tabela (PivotTable) je posebna vrsta Excel tabele - omogućava vam da interaktivno sažimate i analizirate velike količine informacija, posebno preuzetih iz baze podataka.
  • grafikon(Dijagram) - predstavlja dijagram. Obično se koriste za vizualizaciju podataka.

Počnimo sa recenzijom MS Excel objektni model iz objekta Application.

13.2. Objekat aplikacije

MsgBox Excel.Application.Name Listing 13.1. Prikaži naziv aplikacije

Kada se program pokrene, okvir s porukom će prikazati naziv aplikacije - u ovom slučaju, Microsoft Excel. Očigledno, svojstvo Name objekta Application vraća ime aplikacije.

Pogledajmo sada najvažnije metode i svojstva aplikacije. Neki od njih su slični onima u MS Wordu. Na primjer, Quit metoda, baš kao u Wordu, zatvara aplikaciju, svojstvo Visible je odgovorno za vidljivost prozora programa itd.

13.3. Metode

13.3.1. Izračunaj - prinudno preračunavanje

Pozvan na objektu Application, ovaj metod vam omogućava da ponovo izračunate sve otvorene knjige. Može se pozvati i za pojedinačne knjige (objekt Radna sveska) listovi ( Radni list), ćelije i njihovi rasponi (Raspon). Na primjer, kod u Listingu 13.2. omogućava vam da ponovo izračunate sve otvorene radne sveske.

Aplikacija.Izračunaj Listing 13.2. Ponovo izračunajte sve otvorene knjige

13.3.2. GoTo - prelazak na ćeliju

13-02-Excel GoTo.xlsm - primjer za paragraf 13.3.2.

Omogućava vam da odaberete bilo koji raspon ćelija u bilo kojoj knjizi, a ako knjiga nije aktivna, bit će aktivirana. Metoda također može pokrenuti Microsoft Excel makroe.

Potpuni poziv metode izgleda ovako:

Idi na (referenca, listanje)

Parametar Reference je referenca na ćeliju ili raspon ćelija koje treba odabrati nakon poziva metode. Ovdje se također može koristiti naziv makronaredbe - tada će se pokrenuti.

Parametar Scroll je odgovoran za "premotavanje" Excel lista do odabranih ćelija - tako da se gornji lijevi ugao odabira poklopi s gornjim lijevom kutom prikazanog područja lista. Ako je Scroll postavljeno na Tačno, list se premotava, ako je Netačno, nije.

Na primjer, takav poziv (listing 13.3.) omogućava vam da odaberete ćeliju H500 na aktivnom listu.

Application.Goto _Reference:=ActiveSheet.Range("H500"), _Scroll:=True Listing 13.3. Odaberite ćeliju H500

Kao što vidite, pristup aktivnom listu je vrlo sličan pristupu aktivnom dokumentu u MS Wordu. Imajte na umu da koristimo puni poziv metode - Application.GoTo - kao što znate, obično možete koristiti svojstva i metode objekta Application u svom kodu bez navođenja ovog objekta. Međutim, ako u ovom slučaju ne navedete aplikaciju, tada će umjesto metode GoTo, program pokušati izvršiti operator bezuslovnog skoka Idi .

13.3.3. SendKeys - simuliraju tipke na tastaturi

13-03-Excel SendKeys.xlsm - primjer za paragraf 13.3.3.

Vrlo zanimljiva metoda - omogućava vam slanje pritisaka na tipke u aktivni prozor aplikacije. Potpuni poziv metode izgleda ovako:

Pošalji ključeve (ključevi, čekaj)

Parametar Keys vam omogućava da odredite ključeve koji će biti proslijeđeni aplikaciji. Metoda podržava emulaciju i alfanumeričkih i kontrolne tipke, za koje se primjenjuje posebno kodiranje. Alfanumerički tasteri se specificiraju prilikom pozivanja u svom uobičajenom obliku.Na primer, da biste preneli znak "F" potrebno je da ga navedete prilikom pozivanja metode itd.

Za slanje pritiska na tipku u aplikaciju backspace- koristiti kod (BS) . Za slanje dugmeta pritisnite Enter koristite ~ (

Mnogi korisnici Excela ne vide razliku između "formata ćelije" i "tipa podataka". Zapravo, ovo su daleko od identičnih pojmova, iako su, naravno, povezani. Hajde da saznamo koja je suština tipova podataka, na koje se kategorije dijele i kako možete raditi s njima.

Tip podataka je karakteristika informacija pohranjenih u radnom listu. Na osnovu ove karakteristike, program određuje kako će obraditi određenu vrijednost.

Tipovi podataka podijeljeni su u dvije velike grupe: konstante i formule. Razlika između njih je u tome što formule daju vrijednost u ćeliju, koja se može promijeniti ovisno o tome kako se mijenjaju argumenti u drugim ćelijama. Konstante su konstantne vrijednosti koje se ne mijenjaju.

Zauzvrat, konstante su podijeljene u pet grupa:

  • Tekst;
  • Numerički podaci;
  • Datum i vrijeme;
  • Boolean podaci;
  • Pogrešne vrijednosti.

Hajde da saznamo šta svaki od ovih tipova podataka predstavlja detaljnije.

Tekstualne vrijednosti

Tip teksta sadrži znakovne podatke i Excel ga ne smatra objektom matematičkih proračuna. Ove informacije su prvenstveno za korisnika, a ne za program. Tekst može biti bilo koji znak, uključujući brojeve, sve dok su odgovarajuće formatirani. U DAX-u, ova vrsta podataka se odnosi na vrijednosti nizova. Maksimalna dužina teksta je 268435456 znakova u jednoj ćeliji.

Da biste unijeli simbolički izraz, potrebno je odabrati ćeliju teksta ili opći format u kojem će biti pohranjen i ukucati tekst s tipkovnice. Ako dužina tekstualnog izraza prelazi vizualne granice ćelije, onda se on postavlja na vrh susjednih, iako nastavlja biti fizički pohranjen u originalnoj ćeliji.

Numerički podaci

Za direktne proračune koriste se numerički podaci. Upravo s njima Excel poduzima različite matematičke operacije (sabiranje, oduzimanje, množenje, dijeljenje, stepenovanje, vađenje korijena, itd.). Ovaj tip podataka je namijenjen isključivo za pisanje brojeva, ali može sadržavati i pomoćne znakove (%, $, itd.). Može se koristiti u nekoliko formata:

  • Zapravo brojčano;
  • Postotak;
  • Monetary;
  • Financial;
  • Fractional;
  • Eksponencijalno.

Osim toga, Excel ima mogućnost podjele brojeva na znamenke i određivanje broja cifara nakon decimalnog zareza (u razlomcima).

Numerički podaci se unose na isti način kao i tekstualne vrijednosti, o čemu smo gore govorili.

datum i vrijeme

Druga vrsta podataka je format vremena i datuma. To je upravo slučaj kada se tipovi podataka i formati podudaraju. Karakterizira ga činjenica da se može koristiti za označavanje na listu i obavljanje proračuna s datumima i vremenima. Važno je napomenuti da u proračunima ovaj tip podataka traje jedan dan kao jedinica. I to se ne odnosi samo na datume, već i na vrijeme. Na primjer, 12:30 program smatra 0,52083 dana, a tek tada se prikazuje u ćeliji u obliku poznatom korisniku.

Postoji nekoliko vrsta formatiranja vremena:

  • h:mm:ss;
  • h:mm;
  • h:mm:ss AM/PM;
  • h:mm AM/PM itd.

Slična je situacija i sa datumima:

  • DD.MM.GGGG;
  • DD.MMM
  • MMM.YY i drugi.

Postoje i kombinovani formati datuma i vremena, kao što su DD:MM:GGGG h:mm.

Također morate uzeti u obzir da program kao datume prikazuje samo vrijednosti počevši od 01.01.1900.

Boolean podaci

Prilično zanimljiv je boolean tip podataka. Radi sa samo dvije vrijednosti: "TAČNO" i "LAŽNO". Ako pretjeramo, onda to znači „događaj je došao“ i „događaj nije došao“. Funkcije, koje obrađuju sadržaj ćelija koje sadrže logičke podatke, vrše određene proračune.

Pogrešne vrijednosti

Vrijednosti greške su zaseban tip podataka. U većini slučajeva pojavljuju se kada se izvrši pogrešna operacija. Na primjer, takve netačne operacije uključuju dijeljenje nulom ili uvođenje funkcije bez promatranja njene sintakse. Među pogrešnim vrijednostima su sljedeće:

  • #VRIJEDNOST! – korištenje pogrešne vrste argumenta za funkciju;
  • #POSAO! – deljenje sa 0;
  • #BROJ! – netačni brojčani podaci;
  • #N/A – unesena nedostupna vrijednost;
  • #NAME? – pogrešan naziv u formuli;
  • #PRAZNO! – neispravan unos adresa opsega;
  • #VEZA! - javlja se prilikom brisanja ćelija koje su prethodno bile navedene u formuli.

Formule

Formule su posebna velika grupa tipova podataka. Za razliku od konstanti, one najčešće nisu vidljive u samim ćelijama, već samo prikazuju rezultat, koji se može mijenjati ovisno o promjeni argumenata. Konkretno, formule se koriste za različite matematičke proračune. Sama formula se može vidjeti u traci formule tako što ćete označiti ćeliju u kojoj se nalazi.

Preduslov da program percipira izraz kao formulu je prisustvo znaka jednakosti ispred njega (=) .

Funkcije su posebna vrsta formula. To su neobične potprograme koje sadrže skup argumenata i obrađuju ih prema određenom algoritmu. Funkcije se mogu unijeti ručno u ćeliju tako što ćete prvo staviti znak u nju «=» , ali za tu svrhu možete koristiti posebnu grafičku ljusku Čarobnjak za funkcije, koji sadrži cjelokupnu listu operatora dostupnih u programu, podijeljenu u kategorije.

Korišćenjem Čarobnjaci funkcija možete skočiti na prozor argumenta određenog operatora. U njegova polja se unose podaci ili se povezuju na ćelije u kojima se ti podaci nalaze. Nakon pritiska na dugme uredu izvršena je navedena operacija.

Kao što vidimo, u Excel program Postoje dvije glavne grupe tipova podataka: konstante i formule. Oni su, pak, podijeljeni na mnoge druge vrste. Svaki tip podataka ima svoja svojstva prema kojima ih program obrađuje. Ovladavanje sposobnošću prepoznavanja i ispravnog rada s različitim vrstama podataka primarni je zadatak svakog korisnika koji želi naučiti kako efikasno koristiti Excel za njegovu namjenu.

Frizen Irina Grigorijevna – kandidat pedagoških nauka, predavač informacione tehnologije, autor brojnih radova iz oblasti informacionih tehnologija.

Ovaj udžbenik je napisan u skladu sa državnim programom za izučavanje discipline za srednje specijalizovane obrazovne ustanove iz specijalnosti 230103 „Automatizovani sistemi za obradu i upravljanje informacijama“.

Office programiranje

Priručnik daje dovoljno materijala za izvođenje praktične nastave iz discipline, kao i osnovni teorijski materijal potreban za proučavanje određenog pitanja. Na osnovu predloženog materijala moguće je izgraditi izvođenje različitih vrsta nastave.

Udžbenik ima za cilj da pomogne studentima da u potpunosti izuče ovu disciplinu, ispunjavajući zahtjeve državnog standarda za ovu disciplinu.

Namijenjen je nastavnicima i studentima srednjih specijalizovanih obrazovnih institucija, a mogu ga koristiti i studenti visokoškolskih ustanova koji izučavaju ovu disciplinu.

Tutorijal pokriva više od 60 problema, praćenih sa 130 crteža i detaljnim objašnjenjima.

knjiga:

Odjeljci na ovoj stranici:

Korištenje objekata raspona i odabira

U Excelu je najvažniji objekt Application. Objekt Application je najviši objekt u hijerarhiji Excel objekata i predstavlja samu Excel aplikaciju. Ima preko 120 svojstava i 40 metoda. Ova svojstva i metode služe za postavljanje općih preferencija za Excel aplikaciju. U Excel hijerarhiji, objekat Radna sveska dolazi odmah iza objekta Application i predstavlja datoteku radne sveske. Radna sveska je pohranjena u datotekama formata XLS (standardna radna sveska) ili XLA (potpuno kompajlirana aplikacija). Svojstva i metode radne knjige omogućavaju vam da radite sa datotekama. Međutim, u praksi se najviše „koristi“ objekat Range, koji najbolje odražava mogućnosti korišćenja VBA u Excel-u (vidi tabelu 19 za svojstva objekta Range, a tabelu 20 za metode).

U hijerarhiji Excel objekata Domet(raspon) dolazi odmah nakon objekta radni list. Objekt Domet je jedan od ključnih objekata VBA. Objekat selekcije (selekcija) se javlja u VBA na dva načina - bilo kao rezultat metode Select, ili kada se pozove svojstvo selekcije. Tip rezultirajućeg objekta ovisi o tipu odabranog objekta. Objekt Selection najčešće pripada klasi Range, a kada radite s njim, možete koristiti svojstva i metode Range objekta. Zanimljiva karakteristika objekata Range i Selection je da oni nisu članovi nijedne porodice objekata.

Kada radite sa objektom Range, morate zapamtiti kako se Excel odnosi na ćeliju radnog lista.

Određivanje grupa redova i kolona pomoću objekta Range

Ako su u rasponu navedena samo imena stupaca ili redova, tada objekt Range specificira raspon navedenih stupaca ili redova. Na primjer, Range("a:c") specificira opseg koji se sastoji od kolona a, b i c, dok Range("2:2") specificira drugi red. Drugi način rada sa redovima i kolonama su metode Rows (redovi) i kolone (kolone), koje vraćaju kolekcije redova i kolona. Na primjer, stupac a je stupac (1), a red 2 je red (2).

Odnos između objekta Range i svojstva Cells

Pošto je ćelija poseban slučaj opsega, koji se sastoji od samo jedne ćelije, objekat Range vam takođe omogućava da radite sa njim. Objekt Cells je alternativni način rada sa ćelijom. Na primjer, ćelija A2 kao objekt je opisana pomoću Range("A2") ili Ćelije(l, 2). Zauzvrat, objekat ćelije, ugniježđen u Range, takođe vam omogućava da zapišete opseg u alternativnom obliku, što je ponekad zgodno za rad, naime Range("A2: C3") i Range(Cells(1,2), Ćelije(3,3 )) definiraju isti raspon.

Tabela 19

Svojstva objekta opsega




Metode objekata dometa



Metode objekata opsega koje koriste Excel komande

Komande i metode ugrađene u Excel omogućavaju vam da efikasno radite s rasponom: ispunite ga elementima prema obrascu, sortirajte, filtrirajte i objedinite podatke, napravite zbirnu tabelu i kreirajte scenarije i riješite nelinearnu jednadžbu s jednim varijabla.

Metoda automatskog popunjavanja

Metoda AutoFill automatski popunjava ćelije u rasponu elementima sekvence. Metoda AutoFill razlikuje se od metode DataSeries po tome što eksplicitno specificira raspon u kojem će se progresija nalaziti. Ručno, ova metoda je ekvivalentna postavljanju pokazivača miša preko ručke za popunjavanje odabranog raspona (u koji se unose vrijednosti koje generiraju generirani niz) i povlačenju ručke za popunjavanje duž raspona u kojem će sekvenca biti kreirana biti lociran.

sintaksa:

objekat. Automatsko popunjavanje (opseg, vrsta)

Argumenti:

Opseg Raspon od kojeg počinje popunjavanje upišite Važeće vrijednosti: xlFillDefault, xlFillSeries, xlFillCopy, xlFillFormats, xlFillValues,xlFillDays, xlFillWeekdays, xlFillMonths, xlFillYears, xlLinearTrend, xlGrow xlFillDefault

Metoda AutoFilter

Metoda AutoFilter je jednostavan način za upite i filtriranje podataka na radnom listu. Ako je AutoFilter aktiviran, tada se svako zaglavlje polja odabranog raspona podataka pretvara u padajuću listu. Odabir zahtjeva za prikaz podataka u polju sa padajućom listom prikazuje samo one zapise koji ispunjavaju navedene uslove. Okvir padajuće liste sadrži sledeće tipove uslova: Sve (Svi), Top deset (Top 10), Stanje (Prilagođeno), specifični element podataka, Prazni (Prazni) i Neprazni (Neprazni). Ručno, metoda se pokreće odabirom naredbe Podaci, Filter, Autofilter (Podaci, Filter, Autofilter).

Dvije sintakse su važeće kada se koristi metoda AutoFilter.

Sintaksa 1:

Objekt. AutoFilter

U ovom slučaju, metoda AutoFilter odabire ili poništava naredbu Data, Filter, AutoFilter primijenjenu na raspon naveden u argumentu objekta.

Sintaksa 2:

Objekt. AutoFilter(polje, kriterijum1, operator, kriterijum2)

U ovom slučaju, metoda AutoFilter izvršava naredbu Podaci, Filter, AutoFilter prema kriterijima navedenim u argumentu.

Argumenti:

polje Cijeli broj koji specificira polje na kojem se filtriraju podaci

Kriteriji1 Navedite dva moguća polja filtera i kriterija2. Možete koristiti konstantu niza, kao što je 101, i znakove odnosa >,<,>=, <=, =, <>

operater Važeće vrijednosti: X1And (logička unija prvog i drugog kriterija); X1or (logično dodavanje prvog i drugog kriterija)

Kada radite sa filterima, korisna su metoda showAllData i svojstva FilterMode i AutoFilterMode.

ShowAllData metoda Prikazuje sve filtrirane i nefiltrirane redove radnog lista

Svojstvo FilterMode Važeće vrijednosti: Tačno (ako je radni list filtrirao podatke sa skrivenim redovima), False (u suprotnom)

Svojstvo AutoFilterMode Važeće vrijednosti: Tačno (ako radni list prikazuje padajuće menije metode AutoFilter), False (u suprotnom)

GoalSeek metoda

Metoda GoalSeek (izbor parametra) odabire vrijednost parametra (nepoznatu vrijednost) koja je rješenje jednadžbe s jednom promjenljivom. Pretpostavlja se da je jednačina svedena na oblik: desna strana je konstantna, neovisna o parametru, koji je uključen samo u lijevu stranu jednačine. Ručno, metoda GoalSeek se izvodi pomoću naredbe Usluga, odabir parametara (Alati, Traženje cilja). Metoda GoalSeek izračunava korijen koristeći metodu uzastopnih aproksimacija, čiji rezultat, općenito govoreći, ovisi o početnoj aproksimaciji. Stoga se za ispravnost pronalaženja korijena mora voditi računa o ispravnoj indikaciji ove početne aproksimacije.

sintaksa:

Objekt. GoalSeek (cilj, promjena ćelije)

Argumenti:

ObjektĆelija u koju se unosi formula koja je desna strana jednadžbe koja se rješava. U ovoj formuli, ulogu parametra (nepoznata vrijednost) igra referenca na ćeliju navedenu u argumentu ChangingCell

Gol Vrijednost lijeve strane jednadžbe koja se rješava a koja ne sadrži parametar

Preciznost s kojom je korijen pronađen i maksimalni dozvoljeni broj iteracija korištenih za pronalaženje korijena postavljeni su svojstvima Maxchange i Maxiterations objekta Application. Na primjer, određivanje korijena s točnošću od 0,0001 za maksimalno 1000 iteracija postavlja se instrukcijom:

Sa aplikacijom

maksimacije = 1000

MaxChange = 0,0001

Ove vrijednosti se postavljaju ručno na kartici Kalkulacija dijaloškog okvira Opcije koji se poziva naredbom Alati, Opcije.

Metoda sortiranja

Sortiranje vam omogućava da podatke uredite leksikografskim redoslijedom u rastućem ili opadajućem redoslijedu. Metoda sortiranja sortira redove liste i baze podataka i kolone radnog lista na osnovu do tri kriterijuma sortiranja. Ručno sortiranje podataka vrši se pomoću naredbe Podaci, Sortiraj.

sintaksa:

Objekt. Sortiraj(ključ1, narudžba1, ključ2, red2, ključ3, red3, zaglavlje, orderCustom, matchCase, orientaticn)

Argumenti:

Objekt Raspon koji treba sortirati

Order1

red2 Određuje redoslijed naručivanja. Važeće vrijednosti: xlAscending (uzlazni red); xlDescending (silazni redoslijed)

header Važeće vrijednosti su: xlYes (prvi red opsega sadrži zaglavlje koje nije sortirano); xlNo (prvi red opsega ne sadrži zaglavlje, ova vrijednost se smatra po defaultu); xlGuess (Excel odlučuje postoji li naslov)

orderCustom Prilagođeni redoslijed sortiranja. Podrazumevano je Normalno

matchCase Važeće vrijednosti: True (osjetljivo na velika i mala slova) i False (osjetljivo na velika i mala slova)

orijentacija Važeće vrijednosti: xlTopToBottom (sortiranje se vrši od vrha do dna, tj. po redovima); xlLeftToRight (s lijeva na desno, tj. po stupcima)

Na primjer, raspon A1:C20 radnog lista sheet1 sortira se sljedećom naredbom u rastućem redoslijedu, tako da je početno sortiranje u prvoj koloni ovog raspona, a sekundarno u drugoj:

Radni listovi("Sheet").Raspon("A1: C20").Sort _

key1:=Radni listovi("Sheet1").Raspon("A1"), _

key2:=Radni listovi("Sheet1").Raspon("B1")

Zaokruživanje brojeva

Često morate zaokružiti decimalne brojeve, posebno kada radite s novčanim vrijednostima. VBA ne nudi direktno rešenje za takve probleme, ali tehnike o kojima se govori u nastavku pomoći će vam da rešite ove probleme.

1 način

Okrugla funkcija

X=krug(2.505, 2)

Vrijednost x će biti 2,5, a ne 2,51.

Stoga se ne koristi često.

2 way

Funkcija formatiranja

sngRounding=Format(SngUnrounded, “#, 0.00”)

3 way

Funkcija FormatNumber

SngRounding= FormatNumber(sbgUnrounded, 2)

Da biste promijenili decimalna mjesta, promijenite broj nula iza decimalne točke u argumentu Format ili promijenite broj koji specificira vrijednost drugog argumenta na ono što želite.

Bilješka. Varijabla u koju se stavlja zaokružena vrijednost mora biti tipa string, single, double, decimal, valuta ili varijanta, a ne cijeli broj ili duga.

Smanjenje podataka

Za pretvaranje unesenih podataka u željeni tip, VBA uključuje opsežan skup funkcija, od kojih je jedna CDBL. sintaksa:

CDbl(izraz)

Potreban argument izraz je bilo koji string ili numerički izraz. Da biste pročitali informacije unesene u tekstualno polje u generiranoj formi, unesite varijablu i napišite izraz:

A = Cdbl(textBoxN.text)

Nakon toga možete raditi s ovom varijablom.

Za prikaz vrijednosti direktno u ćelijama Excel radne knjige, prikladno je koristiti objekt Range:

raspon("A5").vrijednost = a

Funkcija suprotna CDbl-u je funkcija CStr - ona pretvara brojeve u nizove i pogodna je za prikaz rezultata bilo u ćeliji na listu, ili u određenom tekstualnom okviru.

TextBoxN.text = CStr(.Range("A8").value)

- čitanje vrijednosti iz ćelije i prikazivanje u tekstualnom polju.

Funkcija Trim(string) vraća kopiju stringa sa uklonjenim razmacima na početku i kraju niza.

Kreiranje VBA programa

Korištenje metode GoalSeek

Primjer 41. Razviti program koji, koristeći unesene numeričke vrijednosti neke jednadžbe, rješava ovu jednačinu i pronalazi nepoznatu varijablu x. Rezultat proračuna je prikazan u tekstualnom polju na obrascu i na Excel listu.


Rice. 92. Razvijen obrazac primjera 41 u radnom stanju

Tehnologija izvršenja

1. Pokrenite Excel aplikaciju, sačuvajte dokument.

2. Prebacite se na VBA editor.

3. Kreirajte obrazac kao što je prikazano na sl. 92.

4. Postavite traženi tekst (formatiranje) na Excel list, pružajući odgovarajuće ćelije za izlaz informacija (Sl. 93).


Rice. 93. Izlaz rezultata u Excel tablicu nakon pokretanja primjera obrasca 41

5. Obradite dugmad.

Dugme za izračunavanje

Privatna podkomandna tipka1_Klik ()

Dim a, b, c As Double

a = CDbl(TextBox1.Text)

b = cbl(TextBox2.Text)

c = CDbl(TextBox3.Text)

Sa ActiveSheet-om

Raspon("b3").Vrijednost = a

Opseg("b4").Vrijednost = b

Opseg("b5").Vrijednost = c

Raspon("b6").FormulaLocal = "=b3*b7^3+b4*sin(b7)"

Range("b6").GoalSeek Cilj:=c, changeCell:=Range("b7")

TextBox4.Text = CStr(.Range("b7").Value)

TextBox4.Text = FormatNumber(TextBox4.Text, 2)

Dugme za zatvaranje

Privatna podkomandna tipka2_Klik ()

Procedura inicijalizacije obrasca

Privatni Sub UserForm_initialize()

Radni listovi(1).Vidljivo = Netačno

Korišćenje metoda automatskog popunjavanja prilikom popunjavanja tabela

Primjer 42 . Kreirati program koji, prema tekstualnim podacima unesenim u odgovarajuća tekstualna polja obrasca, automatizuje unos podataka za studente određene specijalnosti obrazovne ustanove. Rezultati popunjavanja tekstualnih polja prikazani su na Excel listu, što vam omogućava da po potrebi ispišete podatke.

mob_info