Sådan oprettes en brugerdefineret funktion i Microsoft Excel
Selv om Excel har mange, sandsynligvis hundredvis af indbyggede funktioner som SOMA, VLOOKUP, LEFT og så videre, når du begynder at bruge Excel til mere komplicerede opgaver, indser du ofte, at du har brug for en funktion, som ikke eksisterer. Bare rolig, alt er ikke tabt - alt hvad du behøver er at skabe den ønskede funktion.
Opret en ny arbejdsbog eller åben arbejdsbogen, hvor du vil bruge din nyoprettede brugerdefinerede funktion (FDU).
2
Åbn Visual Basic Editor som er indbygget i Microsoft Excel ved at gå til Tools-> Macro-> Visual Basic Editor (eller ved at trykke på Alt + F11).
3
Tilføj et nyt modul til din projektmappe ved at klikke på den angivne knap. Du kan oprette den brugerdefinerede funktion i selve regnearket uden at tilføje et nyt modul, men det forhindrer dig i at bruge det i andre regneark i samme projektmappe.
4
Opret "header" eller "prototype" af din funktion. Den skal have følgende struktur: offentlig funktion TheNameOfYourFunction (param1 As type1, param2 Som type2) Som returnType Der kan være så mange parametre som du vil, og deres type kan være en af de grundlæggende datatyper eller Excel-objekttyper som Range. Du kan tænke på parametre som værende de "operander" over hvilke din funktion vil virke. For eksempel, når du siger SIN (45) for at beregne sinusen med 45 grader, vil 45 blive taget som en parameter. Derefter bruger din funktionskode denne værdi til at udføre nogle beregninger og vise resultatet.
5
Tilføj funktionskoden, sørg for: 1) brug værdierne fra parametre- 2) tildele resultatet til funktionsnavnet- og 3) lukke funktionen med "slutfunktion". At lære at programmere i VBA eller et andet sprog kan tage lidt tid og kræve en detaljeret vejledning . Funktionerne har dog generelt små kodeblokke og bruger få funktioner i et sprog. De mest nyttige elementer i VBA-sproget er:
Blokken hvis, som giver dig mulighed for kun at udføre en del af koden, hvis en betingelse er opfyldt. For eksempel:
Offentlig funktion CourseResult (gitter som helhed) som streng Hvis klasse> = 5 Så CourseResult = "Godkendt" andet CourseResult = "Afvist" Afslut hvis Slutfunktion
Bemærk elementerne i en kodeblok hvis: Hvis betingelse, så kode ELLER kode END IF. Søgeordet andet sammen med den anden del af koden er valgfri.
Blokken af, som udfører en del af koden mens (mens) eller indtil (indtil) en betingelse er opfyldt. For eksempel:
Offentlig funktion IsPrime (værdi som integer) Som boolsk Dim jeg som helhed i = 2 IsPrime = True af Hvis værdi / i = Int (værdi / i) Så IsPrime = False Afslut hvis i = i + 1 Loop mens jeg < value And IsPrime = True Slutfunktion
Bemærk elementerne igen: Gør kode LOOP OVER / TIL tilstand. Bemærk også den anden linje, hvori en variabel er "erklæret". Du kan tilføje variabler til din kode, så du kan bruge dem senere. Variabler fungerer som midlertidige værdier inden for koden. Endelig noter du funktionen som BOOLEAN, som er en datatype, der kun tillader værdierne TRUE og FALSE. Denne metode til at bestemme, om et tal er primært, er ikke ideelt, men jeg foretrækker at forlade det for at gøre koden lettere at læse.
Blokken til, som udfører en del af koden et bestemt antal gange. For eksempel:
Public Function Factorial (værdi som integer) så længe Dim resultat så lang Dim jeg som helhed Hvis værdi = 0 Så
Video: Excelmanden præsenterer Datavask i Microsoft Excel
resultat = 1 ElseIf værdi = 1 Så resultat = 1 andet resultat = 1 For i = 1 Til værdi
Video: Excel-tip: Betinget formatering
resultat = resultat * i
Video: Excel - Brugerdefinerede tal-, dato- og tid/klokkeslæts formater
næste Afslut hvis Factorial = resultat Slutfunktion
Video: Brugerdefineret lister i Excel 2010
Bemærk elementerne igen:FOR variabel = nedre grænse TIL øvre grænse kode NEXT. Bemærk også elementet EllersHvis tilføjet i instruktionen hvis, som giver dig mulighed for at tilføje flere muligheder til den kode, der skal udføres. Endelig skal du notere erklæringen af funktionen og variablen "resultat" som lang. Datatypen lang tillader værdier meget større end `helhed`.
Her er koden til en funktion, der konverterer tal til ord.
6
Gå tilbage til din projektmappe og brug funktionen ved at starte indholdet af en celle med a lige efterfulgt af navnet på din rolle. Tilføj til funktionsnavnet en åbnings parentes, parametrene adskilt af komma og en endelig lukke parentes. For eksempel:= NumberToLetters (A4) Du kan også bruge din brugerdefinerede formel ved at søge efter den i kategorien Brugerdefineret i guiden for at indtaste formlen. Bare klik på knappen FX placeret til venstre for formellelinjen. Parametrene kan bestå af tre typer:
Konstante værdier indtastes direkte i celleformlen. Strenge skal være vedlagt i anførselstegn i dette tilfælde.
Cellehenvisninger som B6 eller intervaller som A1: C3 (parameteren skal være af typen Interval ")
Andre funktioner arrangeret inden for dens funktion (dens funktion kan også grupperes inden for andre funktioner). Det er: = Faktorisk (MAX (D6: D8))
7
Kontrollér, at resultatet er OK Når du har brugt funktionen flere gange, skal du sikre dig, at den håndterer forskellige parameterværdier korrekt:
tips
Når du skriver en blok kode i en kontrolstruktur som f.eks. Hvis, For, Gør osv., Skal du huske at indsætte blokken ved at bruge nogle blanke eller tabbing (indrykningsstilen er alene). På denne måde bliver din kode lettere at forstå, og det vil være meget nemmere at registrere fejl og forbedre kode.
Excel har mange indbyggede funktioner, og de fleste beregninger kan gøres ved hjælp af dem alene eller i kombination. Søg i listen over tilgængelige funktioner, før du starter din egen kode. Udførelse kan være hurtigere, hvis du bruger indbyggede funktioner.
Nogle gange kan en funktion ikke kræve, at alle parametre beregner et resultat. I dette tilfælde kan du bruge søgeordet valgfri før parameternavnet i funktionsoverskriften. Du kan bruge IsMissing (parameternavn) inden for koden for at bestemme, om en værdi er tildelt til parameteren eller ej.
Brug et navn, der endnu ikke er defineret som et funktionsnavn i Excel, eller du vil ende med at bruge kun en af funktionerne.
advarsler
På grund af sikkerhedsforanstaltninger kan nogle mennesker deaktivere makroer. Lad dine kolleger vide, at den bog, der uploades, har makroer, som de kan stole på, da de ikke vil beskadige deres computere.
Funktionerne i denne artikel er ikke den bedste måde at løse ovenstående problemer på. De blev kun brugt til at forklare brugen af sprogkontrolstrukturer.
VBA har ligesom andre sprog flere forskellige kontrolstrukturer udover Do, If og For. Disse er kun blevet forklaret her for at præcisere, hvad der kan gøres inden for funktionens kildekode. Der er mange online tutorials til rådighed, hvor du kan lære VBA.