Hvordan lage brukerdefinerte funksjoner i Microsoft Excel

Innholdsfortegnelse:

Hvordan lage brukerdefinerte funksjoner i Microsoft Excel
Hvordan lage brukerdefinerte funksjoner i Microsoft Excel

Video: Hvordan lage brukerdefinerte funksjoner i Microsoft Excel

Video: Hvordan lage brukerdefinerte funksjoner i Microsoft Excel
Video: Rob er Hardcore I Hardcore Minecraft - En Noobs Hardcore Eventyr Dag 1-5 2024, Kan
Anonim

Selv om Excel allerede har hundrevis av innebygde funksjoner som SUM, VLOOKUP, LEFT, og så videre, er de tilgjengelige innebygde funksjonene vanligvis ikke tilstrekkelige nok til å gjøre ganske komplekse oppgaver. Men ikke bekymre deg fordi du bare trenger å lage de nødvendige funksjonene selv.

Steg

Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 1
Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 1

Trinn 1. Opprett en ny arbeidsbok eller åpne arbeidsboken du vil behandle med User Defined Functions (UDF)

Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 2
Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 2

Trinn 2. Åpne Visual Basic Editor i Microsoft Excel via Verktøy-> Makro-> Visual Basic Editor (eller trykk på snarveien Alt+F11)

Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 3
Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 3

Trinn 3. Klikk på Modul -knappen for å legge til en ny modul i regnearket

Du kan opprette en UDF i en arbeidsbok uten å legge til en ny modul, men funksjonen fungerer ikke i andre regneark i den samme arbeidsboken.

Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 4
Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 4

Trinn 4. Lag "hodet" eller "prototypen" av funksjonen din

Funksjonsprototypen må følge følgende struktur:

offentlig funksjon "Funksjonsnavn" (parameter1 Som type1, parameter2 Som type2) Som Resultattype.

Prototyper kan ha så mange funksjoner som mulig, og deres typer kan være alle grunnleggende datatyper eller Excel -objekttyper i form av område. Du kan tenke på parametere som "operanter" (operatører) som funksjonen vil virke på. For eksempel, når du skriver SIN (45) for å beregne sinus på 45 grader, blir tallet 45 tatt som en parameter. Deretter vil funksjonskoden bruke disse verdiene til å utføre beregninger og vise resultatene.

Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 5
Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 5

Trinn 5. Legg til funksjonskoden for å sikre at du: 1) bruker verdien gitt av parameteren; 2) gi resultatet til funksjonsnavnet; og 3) lukk funksjonen med setningen "sluttfunksjon". Å lære å programmere i VBA eller på et annet språk tar mye tid og detaljert veiledning. Heldigvis har disse funksjonene vanligvis små kodeblokker og gjør ikke mye bruk av programmeringsspråkfunksjoner. Her er noen elementer i VBA -språket som kan brukes:

  1. If (if) -blokken, som lar deg utføre en del av koden bare hvis betingelsen er oppfylt. Som et eksempel:
  2. Offentlig funksjon Kursresultat (som heltallsverdi) som streng

    Hvis verdi> = 5 Da

    Kursresultater = "Godkjent"

    Ellers

    Kursresultater = "Avvist"

    Slutt om

    Sluttfunksjon

    Legg merke til elementene i If -kodeblokken:

    IF -tilstand DA KODE ELSE -kode END IF

  3. . Du kan utelate Else -søkeordet sammen med den andre delen av koden, da det er valgfritt.
  4. Do (do) -blokken, som utfører en del av While eller Til -koden når eller til betingelsen er oppfylt. Som et eksempel:
  5. Offentlig funksjon BilPrima (verdi som heltall) Som boolsk

    Dim i As Integer

    jeg = 2

    BilPrima = Sant

    Gjøre

    Hvis verdi / i = Int (verdi / i) Da

    BilPrima = Falsk

    Slutt om

    i = i + 1

    Loop While i <value And NumberPrima = True

    Sluttfunksjon

    Se igjen på elementene:

    DO code LOOP WHILE/UNTIL condition

  6. . Legg også merke til den andre linjen som "deklarerer" variabelen. Du kan legge til variabler i koden din for senere bruk. Variabler fungerer som midlertidige verdier i koden. Til slutt kan du vurdere funksjonserklæringen som BOOLEAN, som er en datatype som bare tillater SANN eller FALSK verdi. Denne metoden for å bestemme primtall er langt fra optimal, men koden er skrevet på en slik måte at den er lett å lese.
  7. For blokk (til), som utfører en viss mengde kode. Som et eksempel:
  8. Offentlig funksjonsfaktoriell (verdi som heltall) Så lenge

    Dempe resultater så lenge

    Dim i As Integer

    Hvis verdi = 0 Da

    resultat = 1

    ElseIf verdi = 1 Da

    resultat = 1

    Ellers

    resultat = 1

    For i = 1 Til verdi

    resultat = resultat * i

    Neste

    Slutt om

    Faktorisk = resultat

    Sluttfunksjon

    Se igjen på elementene:

    FOR variabel = nedre grense TIL øvre grense for kode NESTE

    . Vær også oppmerksom på det ekstra ElseIf -elementet i If -setningen, som lar deg legge til flere alternativer til koden som kjøres. Tenk til slutt på “resultat” -funksjonen og variabelen deklarert som lang. Lang datatype tillater mye større verdier enn heltall.

    Nedenfor vises koden for en funksjon som konverterer små tall til ord.

    Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 6
    Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 6

    Trinn 6. Gå tilbake til arbeidsboken og bruk funksjonen ved å skrive symbolet “lik” (=) etterfulgt av navnet på funksjonen i cellen

    Skriv åpningsbrakettene (“(“) etter funksjonsnavnet ved å bruke tegnet koma for å skille parametrene, og avslutte med lukkebraketter (“)”). Som et eksempel:

    = NumberToLetter (A4)

    . Du kan også bruke hjemmelagde formler ved å søke etter dem i kategorier Brukerdefinert inne i alternativet Sett inn formel. Du klikker bare på knappen Fx til venstre for formellinjen. Det er tre typer parameterformer i funksjoner:

    1. En konstant verdi som skrives direkte inn i celleformelen. I dette tilfellet må teksten (strengen) siteres.
    2. Cellreferanser, for eksempel B6 eller rekkevidde som A1: C3 (parameteren må være datatypen "Range")
    3. En annen funksjon som er inkludert i funksjonen din (funksjonen din kan også være vedlagt i en annen funksjon), for eksempel: = Faktorisk (MAKS (D6: D8))

      Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 7
      Opprett en brukerdefinert funksjon i Microsoft Excel Trinn 7

      Trinn 7. Kontroller at resultatene er riktige

      Bruk den flere ganger for å sikre at funksjonen er i stand til å håndtere forskjellige parameterverdier riktig:

      Tips

      • Når du skriver kodeblokker i kontrollstrukturer som If, For, Do, etc., må du sørge for å innrykke (sett inn venstre linjegrense litt inne) i kodeblokken ved å trykke på mellomromstasten flere ganger eller kategorien. Dette vil gjøre koden lettere å forstå og feil vil være mye lettere å finne. I tillegg blir økningen i funksjonalitet lettere å gjøre.
      • Hvis du ikke vet hvordan du skriver kode for funksjoner, kan du lese artikkelen Hvordan skrive en enkel makro i Microsoft Excel.
      • Noen ganger trenger funksjoner ikke alle parametrene for å beregne resultatet. I dette tilfellet kan du bruke det valgfrie søkeordet foran parameternavnet i funksjonsoverskriften. Du kan bruke funksjonen IsMissing (parameternavn) i koden for å avgjøre om en parameter er tildelt en verdi eller ikke.
      • Bruk ubrukte navn som funksjoner i Excel, slik at ingen funksjoner blir overskrevet og slettet.
      • Excel har mange innebygde funksjoner, og de fleste beregninger kan utføres ved hjelp av disse innebygde funksjonene, enten individuelt eller alle samtidig. Sørg for å ta en titt på listen over tilgjengelige funksjoner før du begynner å kode selv. Utførelse kan gjøres raskere hvis du bruker innebygde funksjoner.

      Advarsel

      • Av sikkerhetshensyn deaktiverer mange mennesker makroer. Sørg for å varsle arbeidsbokmottakerne om at den innsendte arbeidsboken har makroer, og at disse makroene ikke vil skade datamaskinene.
      • Funksjonen som brukes i denne artikkelen er ikke den beste måten å løse det relaterte problemet. Eksemplet brukes til å forklare bruken av språkkontrollstrukturer.
      • VBA, som andre språk, har flere andre kontrollstrukturer i tillegg til Do, If og For. Strukturen som diskuteres her beskriver bare hva som kan gjøres i funksjonens kildekode. Det er mange guider på internett som kan brukes til å lære deg VBA.

Anbefalt: