Hjem Social Media Sådan bruges VBA-regnearkfunktioner i Excel 2016 - dummies

Sådan bruges VBA-regnearkfunktioner i Excel 2016 - dummies

Indholdsfortegnelse:

Video: Basis Excel: Vlookup 2024

Video: Basis Excel: Vlookup 2024
Anonim

Selvom VBA tilbyder et anstændigt udvalg af indbyggede funktioner, finder du måske ikke altid præcis, hvad du har brug for. Heldigvis kan du også bruge de fleste af Excels regnearkfunktioner i dine VBA-procedurer. De eneste regnearkfunktioner, som du ikke kan bruge, er dem, der har en tilsvarende VBA-funktion. Du kan f.eks. Ikke bruge Excel's RAND-funktion (som genererer et tilfældigt tal), fordi VBA har en tilsvarende funktion: Rnd.

VBA gør Excels regnearkfunktioner tilgængelige via WorksheetFunction-objektet, som findes i applikationsobjektet. Her er et eksempel på, hvordan du kan bruge Excels SUM-funktion i en VBA-sætning:

Total = Application. WorksheetFunction. SUM (Område ("A1: A12"))

Du kan udelade enten Programmets del eller WorksheetFunction-delen af ​​udtrykket. I begge tilfælde viser VBA ud, hvad du laver. Med andre ord arbejder disse tre udtryk alle sammen nøjagtigt:

I alt = Ansøgning. WorksheetFunction. SUM (Range ("A1: A12")) I alt = WorksheetFunction. SUM (Range ("A1: A12")) I alt = Ansøgning. SUM (Range ("A1: A12"))

Min personlige præference er at bruge WorksheetFunction-delen kun for at gøre det helt klart, at koden bruger en Excel-funktion.

Eksempler på arbejdsarksfunktioner

Her finder du ud af, hvordan du bruger regnearkfunktioner i dine VBA-udtryk.

Find den maksimale værdi i en rækkevidde

Her er et eksempel, der viser, hvordan man bruger Excel's MAX-regnearkfunktion i en VBA-procedure. Denne procedure viser den maksimale værdi i kolonne A i det aktive regneark:

Brug af et regneark-funktion i din VBA-kode.
Sub ShowMax () Dim TheMax As Double TheMax = WorksheetFunction. MAX (Range ("A: A")) MsgBox TheMax End Sub

Du kan bruge MIN-funktionen til at få den mindste værdi i en rækkevidde. Og som du måske forventer, kan du bruge andre regnearksfunktioner på en lignende måde. Du kan f.eks. Bruge den store funktion til at bestemme k den største værdi i en rækkevidde. Følgende udtryk viser dette:

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

Bemærk, at den store funktion bruger to argumenter. Det andet argument repræsenterer k den del - 2, i dette tilfælde (den næststørste værdi).

Beregning af realkreditbetaling

I det næste eksempel bruges PMT-regnearkfunktionen til at beregne en realkreditbetaling. Tre variabler bruges til at gemme dataene, der sendes til Pmt-funktionen som argumenter.En meddelelsesboks viser den beregnede betaling.

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

Som følgende sætning viser, kan du også indsætte værdierne direkte som funktionsargumenterne:

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

Brug af variabler til at gemme parametrene gør koden lettere at læse og ændre, hvis det er nødvendigt.

Brug af en opslagsfunktion

Følgende eksempel bruger VBAs InputBox- og MsgBox-funktioner samt Excel's VLOOKUP-funktion. Det beder om et varenummer og får derefter prisen fra et opslagstabell. Nedenfor er rækkevidde A1: B13 betegnet PriceList.

Sortimentet, der hedder PriceList, indeholder priser for dele.
Sub GetPrice () Dim PartNum Som Variant Dim Price Som Double PartNum = InputBox ("Enter the Part Number") Sheets ("Priser"). Aktivér pris = Arbejdsarksfunktion. VLOOKUP (PartNum, Range ("PriceList"), 2, False) MsgBox PartNum & "costs" & Price End Sub

Sådan fungerer GetPrice-proceduren:

  • VBAs InputBox-funktion beder brugeren om et varenummer.

  • Delenummeret, som brugeren indtaster, er tildelt til PartNum-variablen.

  • Den næste sætning aktiverer Priser regnearket, bare hvis det ikke allerede er det aktive ark.

  • Koden bruger VLOOKUP-funktionen til at finde partnummeret i tabellen.

  • Bemærk, at de argumenter, du bruger i denne erklæring, er de samme som dem, du vil bruge med funktionen i en regnearkformel. Denne sætning tildeler resultatet af funktionen til prisvariablen.

  • Koden viser prisen for delen via MsgBox-funktionen.

Denne procedure har ingen fejlhåndtering, og det mislykkes mishandlet, hvis du indtaster et ikke-eksisterende partnummer. (Prøv det.) Hvis dette var en faktisk applikation, der bruges i en egentlig virksomhed, vil du gerne tilføje nogle udsagn, der omhandler fejl mere yndefuldt.

Indtastning af regnearkfunktioner

Du kan ikke bruge dialogboksen Excel Paste-funktion til at indsætte en regnearkfunktion i et VBA-modul. I stedet indtaste sådanne funktioner den gammeldags måde: for hånd. Du kan dog kan bruge dialogboksen Indsæt funktion til at identificere den funktion, du vil bruge, og finde ud af om dens argumenter.

Du kan også udnytte VBE's Auto List Members-valgmulighed, som viser en rulleliste over alle regnearkfunktioner. Skriv blot Application. Arbejdsarksfunktion efterfulgt af en periode. Så ser du en liste over de funktioner, du kan bruge. Hvis denne funktion ikke virker, skal du vælge VBE's Funktioner → Indstillinger kommando, klikke på fanen Editor og placere en check ud for Auto List Members.

Få en liste over regnearksfunktioner, som du kan bruge i din VBA-kode.

Mere om brugen af ​​regnearkfunktioner

Nybegyndere til VBA forvirrer ofte VBAs indbyggede funktioner og Excels arbejdsbogsfunktioner. En god regel at huske er, at VBA ikke forsøger at genopfinde hjulet.For det meste duplikerer VBA ikke Excel-regnearkfunktioner.

For de fleste regnearksfunktioner, der ikke er tilgængelige som metoder i WorksheetFunction-objektet, kan du bruge en tilsvarende VBA-indbygget operatør eller funktion. Funktionen MOD-regneark er f.eks. Ikke tilgængelig i WorksheetFunction-objektet, fordi VBA har et tilsvarende: den indbyggede Mod-operatør.

nederste linje? Hvis du skal bruge en funktion, skal du først afgøre, om VBA har noget, der opfylder dine behov. Hvis ikke, skal du tjekke regnearkets funktioner. Hvis alt andet fejler, kan du muligvis skrive en brugerdefineret funktion ved hjælp af VBA.

Sådan bruges VBA-regnearkfunktioner i Excel 2016 - dummies

Valg af editor

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Aftaler du har sat op til arbejde i Outlook 2013 Kalender kræver ofte, at du indeholder lidt mere information, end du ville have brug for til dine personlige aftaler. Når du vil give en aftale den fulde behandling, skal du bruge følgende metode:

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

De aftaler og møder, du sender i Outlook, er knyttet til Outlook. com, så fra enhver web-aktiveret enhed kan du se, hvor du skal være og med hvem. Nu ved du, hvornår du er tilgængelig til møder, frokoster og tilfældige tungevæsker. Hvis du vil have dine Outlook 2013-data og din Outlook. com data til synkronisering automatisk, ...

Sådan flagger du en kontakt i Outlook 2013 - dummies

Sådan flagger du en kontakt i Outlook 2013 - dummies

Nogle gange har du brug for Outlook 2013 for at minde dig om vigtig datoer eller opfølgningsaktiviteter. Du kan f.eks. Bruge flag, for at minde dig om at ringe til nogen næste uge. Den bedste måde at hjælpe dig med at huske på er at markere personens navn i listen Kontaktpersoner. En påmindelse vil dukke op i din kalender. Kontakterne er ikke ...

Valg af editor

LinkedIn Group Kategorier - dummies

LinkedIn Group Kategorier - dummies

Fordi der er mange grunde til at oprette en gruppe, giver LinkedIn dig muligheder for at kategorisere din gruppe for at give dig mest eksponering. LinkedIn har etableret følgende seks hovedkategorier af grupper: Alumni: Disse grupper er alumniforeninger skabt af skoler eller lærerinstitutioner som et middel til at holde kontakten med fortiden ...

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

Der kommer nok en tid du har brug for dine LinkedIn kontakter for at hjælpe dig på andre arenaer, hvis du vil lykkes i din jobsøgning. For det første skal du generere din eksporterede fil af kontakter fra LinkedIn. Det gør du ved at følge disse trin:

LinkedIn For Dummies Cheat Sheet - dummies

LinkedIn For Dummies Cheat Sheet - dummies

Tilmelding til LinkedIn betyder, at du er en del af det største online faglige netværk i verden. Se her for nyttige retningslinjer for brug af LinkedIn, især når du søger job. LinkedIn hjælper dig med at oprette og vedligeholde en online profil, du kan bruge til at opbygge et professionelt netværk.

Valg af editor

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Hvis du har en god Ny ide til en app, der vil køre på Windows Phone 7, start med at downloade de gratis Windows Phone Developer Tools fra Microsofts websted. Processen tager et kig på, hvad du har på din pc, før det begynder at downloade - hvis du allerede har en bedre version ...

Hvorfor udvikle til Android? - dummies

Hvorfor udvikle til Android? - dummies

Det virkelige spørgsmål er, "Hvorfor ikke udvikle til Android? "Hvis du vil have din app tilgængelig for millioner af brugere over hele verden, eller hvis du vil offentliggøre apps, så snart du er færdig med at skrive og teste dem, eller hvis du kan lide at udvikle på en åben platform, har du dit svar. Men hvis du er ...

Arbejder med objektgrafer i storyboarding - dummies

Arbejder med objektgrafer i storyboarding - dummies

Du kan bruge storyboarding til at starte din iOS-applikationsudvikling i Xcode4. Når du opretter dit storyboard, opretter du en objektgraf, der derefter arkiveres, når du gemmer filen. Når du indlæser filen, er objektgrafen unarchived. Så hvad er en objekgraf? Her er det korte svar: Objektorienterede programmer er lavet ...