Kako koristiti funkcije VBA radnog lista u Excelu 2016

Iako VBA nudi pristojan asortiman ugrađenih funkcija, možda nećete uvijek pronaći točno ono što vam je potrebno. Na sreću, većinu funkcija Excelovog radnog lista također možete koristiti u svojim VBA procedurama. Jedine funkcije radnog lista koje ne možete koristiti su one koje imaju ekvivalentnu VBA funkciju. Na primjer, ne možete koristiti Excelovu RAND funkciju (koja generira slučajni broj) jer VBA ima ekvivalentnu funkciju: Rnd.

VBA čini Excelove funkcije radnog lista dostupnim putem objekta WorksheetFunction, koji se nalazi u objektu Application. Evo primjera kako možete koristiti Excelovu funkciju SUM u VBA izjavi:

Ukupno = Application.WorksheetFunction.SUM(Raspon(“A1:A12”))

Možete izostaviti dio Application ili WorksheetFunction dio izraza. U oba slučaja, VBA shvaća što radite. Drugim riječima, ova tri izraza rade potpuno isto:

Ukupno = Application.WorksheetFunction.SUM(Raspon(“A1:A12”))
Ukupno = Funkcija radnog lista.SUM(Raspon(“A1:A12”))
Ukupno = Primjena.SUM(Raspon(“A1:A12”))

Moja osobna preferencija je korištenje dijela WorksheetFunction samo kako bi bilo savršeno jasno da kod koristi funkciju Excel.

Primjeri funkcija radnog lista

Ovdje ćete otkriti kako koristiti funkcije radnog lista u svojim VBA izrazima.

Pronalaženje maksimalne vrijednosti u rasponu

Evo primjera koji pokazuje kako koristiti Excelovu funkciju MAX radnog lista u VBA proceduri. Ovaj postupak prikazuje maksimalnu vrijednost u stupcu A aktivnog radnog lista:

Kako koristiti funkcije VBA radnog lista u Excelu 2016

Korištenje funkcije radnog lista u vašem VBA kodu.

Sub ShowMax()
  Zatamnite TheMax kao dvostruko
  TheMax = Funkcija radnog lista.MAX(Raspon(“A:A”))
  MsgBox TheMax
Kraj Sub

Možete koristiti funkciju MIN da biste dobili najmanju vrijednost u rasponu. I kao što možete očekivati, možete koristiti druge funkcije radnog lista na sličan način. Na primjer, možete koristiti LARGE funkciju za određivanje k -te najveće vrijednosti u rasponu. Sljedeći izraz to pokazuje:

SecondHighest = WorksheetFunction.LARGE(Raspon(“A:A”),2)

Primijetite da funkcija LARGE koristi dva argumenta. Drugi argument predstavlja k- ti dio — 2, u ovom slučaju (druga najveća vrijednost).

Izračunavanje plaćanja hipoteke

Sljedeći primjer koristi funkciju PMT radnog lista za izračunavanje plaćanja hipoteke. Tri varijable koriste se za pohranu podataka koji se prosljeđuju funkciji Pmt kao argumenti. Okvir s porukom prikazuje izračunatu uplatu.

Sub PmtCalc()
  Dim IntRate As Double
  Dim LoanAmt kao dupli
  Prigušena razdoblja kao duga
  IntRate = 0,0625 / 12
  Razdoblja = 30 * 12
  Iznos zajma = 150000
  MsgBox WorksheetFunction.PMT(IntRate, Razdoblja, -LoanAmt)
Kraj Sub

Kao što pokazuje sljedeća izjava, vrijednosti možete umetnuti i izravno kao argumente funkcije:

MsgBox WorksheetFunction.PMT(0,0625 /12, 360, -150000)

Međutim, korištenje varijabli za pohranu parametara čini kod lakšim za čitanje i modificiranje, ako je potrebno.

Korištenje funkcije pretraživanja

Sljedeći primjer koristi funkcije VBA InputBox i MsgBox, plus Excelovu funkciju VLOOKUP. Traži broj dijela, a zatim dobiva cijenu iz tabele za pretraživanje. U nastavku se raspon A1:B13 naziva Cjenik.

Kako koristiti funkcije VBA radnog lista u Excelu 2016

Raspon, nazvan PriceList, sadrži cijene dijelova.

Pod GetPrice()
  Dim PartNum kao varijanta
  Dim Price As Double
  PartNum = InputBox ("Unesite broj dijela")
  Sheets(“Cijene”).Aktivirajte
  Cijena = Funkcija radnog lista.VLOOKUP(Broj dijela, Raspon(“Cijena”), 2, False)
  MsgBox PartNum & " troškovi " & Cijena
Kraj Sub

Evo kako postupak GetPrice funkcionira:

  • VBA-ova funkcija InputBox traži od korisnika broj dijela.

  • Broj dijela koji korisnik unese dodjeljuje se varijabli PartNum.

  • Sljedeća izjava aktivira radni list Cijene, samo u slučaju da već nije aktivan list.

  • Kod koristi funkciju VLOOKUP za pronalaženje broja dijela u tablici.

  • Primijetite da su argumenti koje koristite u ovoj izjavi isti kao oni koje biste koristili s funkcijom u formuli radnog lista. Ova izjava dodjeljuje rezultat funkcije varijabli Price.

  • Kod prikazuje cijenu za dio putem funkcije MsgBox.

Ovaj postupak nema nikakvog rukovanja pogreškama i ne uspijeva ako unesete nepostojeći broj dijela. (Probajte.) Da je ovo stvarna aplikacija koja se koristi u stvarnom poslovanju, htjeli biste dodati neke izjave koje se elegantnije bave pogreškama.

Unos funkcija radnog lista

Ne možete koristiti dijaloški okvir Excel Paste Funkcija za umetanje funkcije radnog lista u VBA modul. Umjesto toga, unesite takve funkcije na starinski način: ručno. Međutim, možete koristiti dijaloški okvir Zalijepi funkciju da biste identificirali funkciju koju želite koristiti i saznali o njezinim argumentima.

Također možete iskoristiti prednost VBE-ove opcije Auto List Members, koja prikazuje padajući popis svih funkcija radnog lista. Samo upišite Application.WorksheetFunction , nakon čega slijedi točka. Zatim ćete vidjeti popis funkcija koje možete koristiti. Ako ova značajka ne radi, odaberite naredbu VBE Alati → Opcije, kliknite karticu Uređivač i stavite kvačicu pored Automatski članovi popisa.

Kako koristiti funkcije VBA radnog lista u Excelu 2016

Dobivanje popisa funkcija radnog lista koje možete koristiti u svom VBA kodu.

Više o korištenju funkcija radnog lista

Pridošlice u VBA često brkaju ugrađene funkcije VBA i funkcije Excelove radne knjige. Dobro pravilo koje treba zapamtiti je da VBA ne pokušava ponovno izmisliti točak. Većinom VBA ne duplicira funkcije Excelovog radnog lista.

Za većinu funkcija radnog lista koje nisu dostupne kao metode objekta WorksheetFunction, možete koristiti ekvivalentni VBA ugrađeni operator ili funkciju. Na primjer, funkcija radnog lista MOD nije dostupna u objektu WorksheetFunction jer VBA ima ekvivalent: svoj ugrađeni Mod operator.

Poanta? Ako trebate koristiti funkciju, prvo odredite ima li VBA nešto što zadovoljava vaše potrebe. Ako ne, provjerite funkcije radnog lista. Ako ništa drugo ne uspije, možda ćete moći napisati prilagođenu funkciju pomoću VBA.


Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows Microsoft Word otvara datoteke u načinu rada samo za čitanje, što onemogućuje njihovo uređivanje? Ne brinite, metode su navedene u nastavku

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogreške u ispisu netočnih Microsoft Word dokumenata Pogreške u ispisu Word dokumenata s promijenjenim fontovima, neurednim odlomcima, nedostajućim tekstom ili izgubljenim sadržajem vrlo su česte. Međutim, nemojte

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Ako ste upotrijebili olovku ili marker za crtanje na PowerPoint slajdovima tijekom prezentacije, možete spremiti crteže za sljedeću prezentaciju ili ih izbrisati tako da ćete sljedeći put kada ih pokažete početi s čistim PowerPoint slajdovima. Slijedite ove upute za brisanje crteža olovkom i markerom: Brisanje linija jedan na […]

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Biblioteka stilova sadrži CSS datoteke, datoteke Extensible Stylesheet Language (XSL) i slike koje koriste unaprijed definirane glavne stranice, izgledi stranica i kontrole u SharePointu 2010. Da biste locirali CSS datoteke u biblioteci stilova web-mjesta za objavljivanje: Odaberite Radnje web-mjesta→Prikaz Sav sadržaj web-mjesta. Pojavljuje se sadržaj stranice. Knjižnica Style nalazi se u […]

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Nemojte zatrpavati svoju publiku ogromnim brojevima. U Microsoft Excelu možete poboljšati čitljivost svojih nadzornih ploča i izvješća formatiranjem brojeva tako da se prikazuju u tisućama ili milijunima.

Kako dijeliti i pratiti SharePoint web-mjesta

Kako dijeliti i pratiti SharePoint web-mjesta

Naučite kako koristiti SharePointove alate za društveno umrežavanje koji pojedincima i grupama omogućuju komunikaciju, suradnju, dijeljenje i povezivanje.

Kako pretvoriti datume u julijanske formate u Excelu

Kako pretvoriti datume u julijanske formate u Excelu

Julijanski datumi se često koriste u proizvodnim okruženjima kao vremenska oznaka i brza referenca za broj serije. Ova vrsta datumskog kodiranja omogućuje trgovcima na malo, potrošačima i uslužnim agentima da identificiraju kada je proizvod napravljen, a time i starost proizvoda. Julijanski datumi se također koriste u programiranju, vojsci i astronomiji. Drugačiji […]

Kako stvoriti Access web aplikaciju

Kako stvoriti Access web aplikaciju

Možete izraditi web-aplikaciju u Accessu 2016. Dakle, što je uopće web-aplikacija? Pa, web znači da je online, a aplikacija je samo skraćenica za "aplikaciju". Prilagođena web-aplikacija je online aplikacija baze podataka kojoj se pristupa iz oblaka pomoću preglednika. Vi gradite i održavate web-aplikaciju u verziji za stolna računala […]

Traka za brzo pokretanje u sustavu SharePoint 2010

Traka za brzo pokretanje u sustavu SharePoint 2010

Većina stranica u sustavu SharePoint 2010 prikazuje popis navigacijskih veza na traci za brzo pokretanje na lijevoj strani stranice. Traka za brzo pokretanje prikazuje veze na istaknuti sadržaj web-mjesta kao što su popisi, knjižnice, web-mjesta i stranice za objavljivanje. Traka za brzo pokretanje uključuje dvije vrlo važne veze: vezu za sav sadržaj web-mjesta: […]

Što znače poruke o greškama Solvera u Excelu?

Što znače poruke o greškama Solvera u Excelu?

Za jednostavne probleme, Solver u Excelu obično brzo pronalazi optimalne vrijednosti varijable Solvera za funkciju cilja. No, u nekim slučajevima, Solver ima problema s pronalaženjem vrijednosti varijable Solvera koje optimiziraju funkciju cilja. U tim slučajevima, Solver obično prikazuje poruku ili poruku o pogrešci koja opisuje ili raspravlja o problemu koji […]