Funkcije radnog lista u VBA makronaredbama pomoću VBA u Microsoft Excelu

Anonim

U VBA kodu, ako se morate odnositi na određene funkcije radnog lista poput Sum, Vlookup itd., Možete ih koristiti izravno pomoću objekta Application. Stoga ćemo funkcije koristiti kao -

Application.WorksheetFunction.Sum or Application.WorksheetFunction.Vlookup gdje WorksheetFunction je metoda Aplikacijskog objekta.

S obzirom da imamo ovaj testni makro, ako tipkamo

Aplikacija.Funkcija radnog lista.

Dobit ćemo skočni prozor koji prikazuje formule koje se nalaze ispod slike

Na primjer, ako želite zbrojiti vrijednosti ovog raspona u stupcu A pomoću vba -

Omogućimo varijablu pod nazivom SalesTotal koja će spremiti iznos u nju. Za dobivanje ukupnog iznosa u SalesTotal -u koristit ćemo sljedeći VBA kôd u standardnom modulu:

Podmakro4 ()
Dim SalesTotal As Long
SalesTotal = Application.WorksheetFunction.Sum (Raspon ("A2: A6"))
MsgBox SalesTotal
Kraj podm

Da biste gornji kôd kopirali u svoju datoteku,

  • Pritisnite Alt + F11 na tipkovnici.
  • S lijeve strane vidjet ćete Microsoft Excel objekte.
  • Desnom tipkom miša kliknite i odaberite Umetni.
  • Zatim kliknite na Modul.
  • Kopirajte kôd u prozor koda s desne strane.

Kada koristimo ovaj ogledni makro, dobit ćemo poruku koja prikazuje vrijednost koja je pohranjena u ukupnoj prodaji i koja se može koristiti u daljnjim kodnim redovima u makronaredbi.

Rezultat koji ćemo dobiti je -

Ako želite da se SalesTotal prikazuje u ćeliji A7, tada možete promijeniti kodni redak iz

Msgbox SalesTotaldo Radni listovi ("List 1"). Raspon ("A7"). Vrijednost = SalesTotal

S obzirom da nam je potrebna i prosječna prodaja ovih brojki u ćeliji A9. Možemo upotrijebiti donji kod

Podmakro5 ()
Dim SalesTotal As Long
S radnim listovima ("List 1")
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Vrijednost = SalesTotal
.Range ("A9"). Value = Application.WorksheetFunction.Average (.Range ("A2: A6"))
Završi s
Kraj podm

Ovaj kod ima male promjene u odnosu na prethodni.

  • Umjesto da koristim varijablu za Prosjek, izravno sam unio tu vrijednost nakon izračuna u ćeliju A9. Dakle, vidjet ćete redak .Range (“A9”). Value = Application.WorksheetFunction.Average (.Range (“A2: A6”))
  • Linija poruke je uklonjena.
  • Vrijednost u varijabli SalesTotal ide u ćeliju A7.
  • U idealnom slučaju, možete ponoviti isti kodni redak koji se koristio za prosjek, za zbirni red Zbroj zamjenom

SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”))

.Range (“A7”). Vrijednost = SalesTotal

S

.Range (“A7”). Value = Application.WorksheetFunction.Sum (.Range (“A2: A6”))

Međutim, zadržan je tako da možete razumjeti različite načine kodiranja istog zadatka. Slično, možemo koristiti druge funkcije dok koristimo Application.WorksheetFunction. Sve one funkcije koje možemo koristiti izravno na radnom listu, možemo ih koristiti ovdje.

To olakšava korištenje funkcija u kodu kako bismo mogli izračunati potrebne formule bez stvaranja koda za formulu.

Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.
Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web mjesto e -pošte