I VBA -kode, hvis du må referere til visse regnearkfunksjoner som Sum, Vlookup, osv., Kan du bruke dem direkte ved å bruke applikasjonsobjektet. Så vi vil bruke funksjonene som -
Application.WorksheetFunction.Sum eller Application.WorksheetFunction.Vlookup hvor WorksheetFunction er metoden for applikasjonsobjektet.
Med tanke på at vi har denne testmakroen, hvis vi skriver
Søknad. Arbeidsark Funksjon.
Vi får en popup som viser formlene, se bildet under
Så hvis du for eksempel vil summere verdiene for dette området i kolonne A ved hjelp av vba -
La oss ha en variabel kalt SalesTotal som vil lagre summen i den. For å få totalt i SalesTotal bruker vi følgende VBA -kode i standardmodulen:
Submakro4 ()Dim SalesTotal As Long
SalesTotal = Application.WorksheetFunction.Sum (område ("A2: A6"))
MsgBox SalesTotal
Slutt Sub
For å kopiere koden ovenfor til filen din,
- Trykk Alt + F11 på tastaturet.
- På venstre side vil du se Microsoft Excel -objekter.
- Høyreklikk og velg Sett inn.
- Klikk deretter på Modul.
- Kopier koden til kodevinduet til høyre.
Når vi bruker denne eksempelmakroen, får vi en melding som viser verdien som er lagret i salgssum og som kan brukes i ytterligere kodelinjer i makroen.
Utgangen vi får er -
Hvis du vil at SalesTotal skal vises i celle A7, kan du endre kodelinjen fra
Msgbox SalesTotaltil Regneark ("Ark1"). Område ("A7"). Verdi = Salgsum
Med tanke på at vi også trenger gjennomsnittlig salg for disse tallene i celle A9. Vi kan bruke koden nedenfor
Undermakro5 ()Dim SalesTotal As Long
Med regneark ("Sheet1")
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Verdi = SalesTotal
.Range ("A9"). Verdi = Application.WorksheetFunction.Average (.Range ("A2: A6"))
Slutt med
Slutt Sub
Det er små endringer i denne koden sammenlignet med den forrige.
- I stedet for å bruke en variabel for gjennomsnittet, fyllte jeg den verdien direkte etter beregning i celle A9. Derfor vil du se linjen .Range ("A9"). Value = Application.WorksheetFunction.Average (.Range ("A2: A6"))
- Msgbox -linjen er fjernet.
- Verdien i variabelen SalesTotal går til celle A7.
- Ideelt sett kan du gjenta den samme kodelinjen som har blitt brukt for gjennomsnittet, for sumkodelinjen ved å erstatte
SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”))
.Range (“A7”). Verdi = SalesTotal
Med
.Range (“A7”). Verdi = Application.WorksheetFunction.Sum (.Range (“A2: A6”)))
Den har imidlertid blitt beholdt slik at du kan forstå de forskjellige måtene å kode den samme oppgaven. På samme måte kan vi bruke andre funksjoner mens vi bruker Application.WorksheetFunction. Alle de funksjonene som vi kan bruke i regnearket direkte, vi kan bruke dem her.
Dette gjør det lettere å bruke funksjonene i koden, slik at vi kan beregne formlene som kreves uten å måtte opprette en kode for formelen.
Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv oss på e -post nettsted