Selv når Excel har mye, sannsynligvis hundrevis av innebygde funksjoner som SUM, FINN.RAD, VENSTRE, og så videre, når du begynner å bruke Excel for mer kompliserte oppgaver, vil du ofte oppleve at du trenger en funksjon som ikke eksisterer. Ikke bekymre deg, du er ikke tapt i det hele tatt, alt du trenger for å lage funksjonen selv.
Trinn
- 1Opprett en ny arbeidsbok eller åpne arbeidsboken der du vil bruke den nyopprettede brukerdefinert funksjon (UDF).
- 2Åpne Visual Basic-redigering som er innebygd i Microsoft Excel ved å gå til Verktøy-> Makro-> Visual Basic Editor (eller trykke Alt + F11).
- 3Legg til en ny modul i arbeidsboken ved å klikke på knappen vist. Du kan opprette en brukerdefinert funksjon i selve regnearket uten å legge en ny modul, men som vil gjøre deg i stand til å bruke funksjonen i andre regneark i samme arbeidsbok.
- 4Opprette "header" eller "prototype" av funksjon din. Det må ha følgende struktur:
offentlig funksjon TheNameOfYourFunction (param1 Som type1, param2 Som type2) Som returnType
Det kan ha så mange parametere som du vil, og deres type kan være noen av Excel grunnleggende datatyper eller objekttyper som Range. Du kan tenke på parametere som "operander" din funksjon vil handle på. For eksempel, når du sier SIN (45) til å beregne sinus til 45 grader, vil 45 bli tatt som en parameter. Deretter koden for funksjonen vil bruke denne verdien til å beregne noe annet og presentere resultatet. - 5Legg inn koden for funksjonen gjør at du 1) bruker verdiene som tilbys av parametrene, 2) tildele resultatet til navnet på funksjonen, og 3) lukke funksjonen med "end-funksjon".
Lære å programmere i VBA eller på noe annet språk kan ta litt tid og en detaljert tutorial. Fungerer imidlertid som regel små kode blokker og bruker svært få funksjoner i et språk. De mer nyttige elementer av VBA språk er:- If-blokken, som gjør at du kan utføre en del av koden bare hvis en betingelse er oppfylt. For eksempel:
If grade >= 5 Then
Else
End If
End Function
Legg merke elementene i en If kodestykket:IF condition THEN code ELSE code END IF
. Else søkeord sammen med den andre delen av koden er valgfrie. - Den Råd blokken, som utfører en del av koden Mens eller Inntil en betingelse er oppfylt. For eksempel:
Public Function IsPrime(value As Integer) As Boolean
i = 2
Do
IsPrime = False
i = i + 1
End Function
Legg merke elementene igjen:DO code LOOP WHILE/UNTIL condition
. Legg også merke til den andre linjen hvor en variabel er "erklært". Du kan legge til variabler i koden slik at du kan bruke dem senere. Variabler fungere som midlertidige verdier inne i koden. Til slutt merker erklæringen av funksjonen som boolean, som er en datatype som kun tillater den sanne og falske verdier. Denne metoden for å bestemme om et tall er primtall er langt ikke optimal, men jeg har forlatt det på den måten å gjøre koden lettere å lese. - Den for blokken, som utfører en del av koden et spesifisert antall ganger. For eksempel:
Public Function Factorial(value As Integer) As Long
Dim i As Integer
result = 0
result = 1
result = 1
result = result * i
End If
End Function
Legg merke elementene igjen:FOR variable = lower limit TO upper limit code NEXT
. Legg også merke til den ekstra ElseIf element i If-utsagn, som lar deg legge til flere alternativer i koden som skal utføres. Til slutt merker erklæringen av funksjon og variabelen "resultat" som Long. The Long datatype tillater verdiene mye større enn heltall.
Nedenfor er koden for en funksjon som konverterer små tall til ord.
- If-blokken, som gjør at du kan utføre en del av koden bare hvis en betingelse er oppfylt. For eksempel:
- 6Gå tilbake til arbeidsboken og bruke funksjonen ved å starte innholdet i en celle med et likhetstegn etterfulgt av navnet på funksjonen din. Føye til navnet på funksjonen en åpning parentes parameterne atskilt med komma, og en endelig avsluttende parentes. For eksempel:
= NumberToLetters (A4)
Du kan også bruke din brukerdefinert formel ved å se etter den i Brukerdefinert kategori i Insert Formula veiviseren. Bare klikk på Fx-knappen til venstre for formellinjen.
Parametrene kan være av tre typer:
- Konstante verdier skrives direkte i cellen formelen. Strenger å bli sitert i dette tilfellet.
7
Verifisere resultatet er ok etter bruk av funksjonen flere ganger for å sikre den håndterer forskjellige parameterverdier riktig: Tips
Excel har mange innebygde funksjoner og de fleste beregninger kan gjøres ved å bruke dem enten selvstendig eller i kombinasjon. Kontroller at du går gjennom listen over tilgjengelige funksjoner før du starter koding din egen. Gjennomføring kan være raskere hvis du bruker den innebygde funksjoner. hvis du ikke vet hvordan du skal skrive koden for en funksjon, kan du lese hvordan du skriver en enkel makro i Microsoft Excel. når du skriver en blokk med kode inne i en kontroll struktur som om, for, gjøre, etc. Pass på at du rykke blokken med kode ved hjelp av noen mellomrom eller kategorien (stilen på innrykk er opp til deg). Som vil gjøre koden enklere å forstå, og du vil finne mye lettere å oppdage feil og gjøre forbedringer. bruke et navn som ikke allerede er definert som en funksjon navn i excel eller vil du ende opp med å bli i stand til å bruke bare en av funksjonene. Noen ganger kan en funksjon ikke krever at alle parameterne til å beregne et resultat. I så fall kan du bruke søkeordet valgfritt foran navnet på parameteren i funksjonen spissen. Du kan bruke funksjonen ismissing (parameter_navn) inni koden for å finne ut om parameter ble tildelt en verdi eller ikke.
Advarsler
På grunn av sikkerhetstiltak, kan noen mennesker deaktivere makroer. Kontroller at du la dine kollegaer vet at boken du sender dem med makroer og at de kan stole på at de ikke kommer til å skade sine datamaskiner. funksjonene som brukes i denne artikkelen er, på ingen måte, den beste måten å løse problemer. De ble brukt her bare for å forklare bruken av de kontroll strukturer av språket. VBA, som alle andre språk, har flere andre kontroll strukturer i tillegg gjøre, hvis og om. De har blitt forklart her bare for å avklare hva slags ting kan gjøres inne i funksjon kildekoden. Det er mange online tutorials tilgjengelig der du kan lære VBA.