Hjem Sosiale medier Slik bruker du VBA-regnearkfunksjoner i Excel 2016 - dummies

Slik bruker du VBA-regnearkfunksjoner i Excel 2016 - dummies

Innholdsfortegnelse:

Video: VBA 1 01 Introduksjon 2024

Video: VBA 1 01 Introduksjon 2024
Anonim

Selv om VBA tilbyr et anstendig utvalg av innebygde funksjoner, kan du ikke alltid finne akkurat det du trenger. Heldigvis kan du også bruke de fleste av Excels regnearkfunksjoner i dine VBA-prosedyrer. De eneste regnearkfunksjonene du ikke kan bruke er de som har en tilsvarende VBA-funksjon. For eksempel kan du ikke bruke Excels RAND-funksjon (som genererer et tilfeldig tall) fordi VBA har en tilsvarende funksjon: Rnd.

VBA gjør at Excels regnearkfunksjoner er tilgjengelige gjennom WorksheetFunction-objektet, som finnes i applikasjonsobjektet. Her er et eksempel på hvordan du kan bruke Excels SUM-funksjon i en VBA-setning:

Totalt = Program. WorksheetFunction. SUM (Range ("A1: A12"))

Du kan utelate enten Programparten eller WorksheetFunction-delen av uttrykket. I begge tilfeller figurerer VBA ut hva du gjør. Med andre ord, disse tre uttrykkene virker alle nøyaktig det samme:

Totalt = Søknad. WorksheetFunction. SUM (Range ("A1: A12")) Totalt = ArbeidsarkFunksjon. SUM (Range ("A1: A12")) Totalt = Søknad. SUM (Range ("A1: A12"))

Min personlige preferanse er å bruke WorksheetFunction-delen bare for å gjøre det helt klart at koden bruker en Excel-funksjon.

Eksempler på regnearkfunksjonen

Her finner du hvordan du bruker regnearkfunksjoner i VBA-uttrykkene dine.

Finne den maksimale verdien i et område

Her er et eksempel som viser hvordan du bruker Excels MAX-regnearkfunksjon i en VBA-prosedyre. Denne prosedyren viser maksimumsverdien i kolonne A i det aktive regnearket:

Bruke et regnearksfunksjon i VBA-koden.
Sub ShowMax () Dim TheMax As Double TheMax = Arbeidsarkfunksjon. MAX (Range ("A: A")) MsgBox TheMax End Sub

Du kan bruke MIN-funksjonen til å få den minste verdien i et område. Og som du kanskje forventer, kan du bruke andre regnearkfunksjoner på en lignende måte. For eksempel kan du bruke LARGE-funksjonen til å bestemme k den største verdien i et område. Følgende uttrykk demonstrerer dette:

SecondHighest = WorksheetFunction. STOR (Range ("A: A"), 2)

Merk at den store funksjonen bruker to argumenter. Det andre argumentet representerer k delen 2, i dette tilfellet (den nest største verdien).

Beregning av boliglånsbetaling

I neste eksempel brukes PMT-regnearkfunksjonen til å beregne en boliglånsbetaling. Tre variabler brukes til å lagre dataene som sendes til Pmt-funksjonen som argumenter.En meldingsboks viser den beregnede betalingen.

Sub PmtCalc () Dim IntRate Som Dobbel Dim LoanAmt Som Dobbel Dim Perioder Så Lang IntRate = 0. 0625/12 Perioder = 30 * 12 LoanAmt = 150000 MsgBox WorksheetFunction. PMT (IntRate, Perioder, -LoanAmt) End Sub

Som følgende setning viser, kan du også sette inn verdiene direkte som funksjonsargumenter:

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

Ved å bruke variabler til å lagre parameterne, gjør koden imidlertid lettere å lese og modifisere, om nødvendig.

Bruke en oppslagsfunksjon

Følgende eksempel bruker VBAs InputBox- og MsgBox-funksjoner, samt Excels VLOOKUP-funksjon. Det ber om et delnummer og får deretter prisen fra et oppslagstabell. Nedenfor er utvalg A1: B13 kalt PriceList.

Utvalget, kalt PriceList, inneholder priser for deler.
Sub GetPrice () Dim PartNum Som Variant Dim Price Som Double PartNum = InputBox ("Skriv inn delenummeret") Ark ("Priser"). Aktiver pris = WorksheetFunction. VLSKOPP (PartNum, Range ("PriceList"), 2, False) MsgBox PartNum & "kostnader" & Pris End Sub

Slik fungerer GetPrice-prosedyren:

  • VBAs InputBox-funksjon spør brukeren om et varenummer.

  • Delnummeret brukeren legger inn er tildelt PartNum-variabelen.

  • Den neste setningen aktiverer regnearket, bare hvis det ikke allerede er det aktive arket.

  • Koden bruker VLOOKUP-funksjonen til å finne delenummeret i tabellen.

  • Legg merke til at argumentene du bruker i denne setningen, er de samme som de du vil bruke med funksjonen i en regnearkformel. Denne setningen tilordner resultatet av funksjonen til prisvariabelen.

  • Koden viser prisen for delen via MsgBox-funksjonen.

Denne prosedyren har ingen feilhåndtering, og det mislykkes dårlig hvis du oppgir et ikke-eksisterende delnummer. (Prøv det.) Hvis dette var en faktisk applikasjon som brukes i en faktisk bedrift, vil du legge til noen utsagn som omhandler feil mer grasiøst.

Angi regnearkfunksjoner

Du kan ikke bruke dialogboksen Excel Paste-funksjon for å sette inn en regnearkfunksjon i en VBA-modul. I stedet legg inn slike funksjoner den gammeldags måten: for hånd. Du kan imidlertid kan bruke dialogboksen Lim inn funksjon for å identifisere funksjonen du vil bruke og finne ut om dens argumenter.

Du kan også dra nytte av VBEs Auto List Members-alternativ, som viser en rullegardinliste over alle regnearkfunksjoner. Skriv bare Søknad. WorksheetFunction , etterfulgt av en periode. Deretter ser du en liste over funksjonene du kan bruke. Hvis denne funksjonen ikke virker, velger du VBE-verktøyet → Alternativer-kommandoen, klikker på fanen Editor og legger en sjekk ved siden av Auto List Members.

Få en liste over regnearksfunksjoner som du kan bruke i VBA-koden.

Mer om bruk av regnearkfunksjoner

Nykommere til VBA forveksler ofte VBAs innebygde funksjoner og Excels arbeidsbokfunksjoner. En god regel å huske er at VBA ikke prøver å gjenoppfinne hjulet.For det meste dupliserer ikke VBA Excel-regnearkfunksjoner.

For de fleste regnearkfunksjoner som ikke er tilgjengelige som metoder for arbeidsarksfunksjonobjektet, kan du bruke en ekvivalent VBA innebygd operatør eller funksjon. MOD-regnearkfunksjonen er for eksempel ikke tilgjengelig i WorksheetFunction-objektet fordi VBA har en ekvivalent: den innebygde Mod-operatøren.

Bottom line? Hvis du trenger å bruke en funksjon, må du først avgjøre om VBA har noe som tilfredsstiller dine behov. Hvis ikke, sjekk ut regnearkfunksjonene. Hvis alt annet feiler, kan du kanskje skrive en egendefinert funksjon ved å bruke VBA.

Slik bruker du VBA-regnearkfunksjoner i Excel 2016 - dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...