Wkudk

Hvordan du opretter en brugerdefineret funktion i Microsoft Excel

Selv når Excel har en masse, sandsynligvis hundreder af indbyggede funktioner som SUM, VLOOKUP, VENSTRE, og så videre, når du begynder at bruge Excel til mere komplicerede opgaver, vil du ofte opleve, at du har brug for en funktion, som ikke eksisterer. Må ikke bekymre dig, du er ikke tabt på alle, alt hvad du behøver, er at skabe den funktion selv.

Steps

Hvordan du opretter en brugerdefineret funktion i Microsoft Excel. Opret en ny projektmappe eller åbne projektmappen, som du vil bruge din nyoprettede bruger defineret funktion (UDF).
Hvordan du opretter en brugerdefineret funktion i Microsoft Excel. Opret en ny projektmappe eller åbne projektmappen, som du vil bruge din nyoprettede bruger defineret funktion (UDF).
  1. 1
    Opret en ny projektmappe eller åbne projektmappen, som du vil bruge din nyoprettede bruger defineret funktion (UDF).
  2. 2
    Åbn Visual Basic Editor, som er indbygget i Microsoft Excel ved at gå til Værktøjer-> Makro-> Visual Basic Editor (eller trykke på Alt + F11).
  3. 3
    Tilføj et nyt modul til din projektmappe ved at klikke i den viste knap. Du kan oprette den brugerdefinerede funktion i regnearket selv uden at tilføje et nyt modul, men det vil gøre dig i stand til at bruge funktionen i andre regneark i samme projektmappe.
  4. 4
    Skabe den "header" eller "prototype" i din funktion. Det har at have den følgende struktur:
    offentlig funktion TheNameOfYourFunction (param1 Som type1, param2 Som type2) Som returnType
    Det kan have så mange parametre, som du vil, og deres type kan være enhver af Excels basale datatyper eller objekt typer som Range. Du kan tænke på parametre som "operander" din funktion vil handle. For eksempel, når man siger SIN (45) til at beregne sinus af 45 grader, vil 45 tages som en parameter. Så koden for din funktion vil anvende denne værdi til at beregne noget andet, og præsentere resultatet.
  5. 5
    Tilføj koden for den funktion gør, at du 1) bruge værdierne fra de parametre, 2) tildeler resultatet til navnet på funktionen, og 3) lukke funktion med "end funktion".
    At lære at programmere i VBA eller på et andet sprog kan tage lidt tid og en detaljeret tutorial. Dog fungerer normalt små kodeblokke og bruger meget få funktioner i et sprog. De mere brugbare elementer i VBA sprog er:
    1. If blok, som giver dig mulighed for at udføre en del af koden kun, hvis en betingelse er opfyldt. For eksempel:

      If grade >= 5 Then
      Else
      End If
      End Function

      Bemærk elementerne i en If kode blok: IF condition THEN code ELSE code END IF. Den Else søgeord sammen med den anden del af koden er valgfri.
    2. Do blok, som udfører en del af koden Mens eller indtil en betingelse er opfyldt. For eksempel:
      Public Function IsPrime(value As Integer) As Boolean
      i = 2
      Do
      IsPrime = False
      i = i + 1
      End Function

      Bemærk elementerne igen: DO code LOOP WHILE/UNTIL condition. Bemærk også den anden linje, hvor en variabel er "erklærede". Du kan tilføje variabler til din kode, så du kan bruge dem senere. Variabler fungere som midlertidige værdier inde i koden. Endelig bemærker erklæringen af ​​funktionen som BOOLESK, som er en datatype, der kun tillader den sande og falske værdier. Denne metode til at afgøre, om et tal er et primtal er langt ikke den optimale, men jeg har forladt det på den måde at gøre koden lettere at læse.
    3. Den for blok, som udfører en del af koden et bestemt antal gange. 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

      Bemærk elementerne igen: FOR variable = lower limit TO upper limit code NEXT. Bemærk også den ekstra EllersHvis element i If-sætning, som giver dig mulighed for at tilføje flere muligheder for at den kode, der skal udføres. Endelig bemærker erklæringen af funktionen og den variable "resultat" som Long. The Long datatype tillader værdier meget større end Integer.
      Nedenfor er koden for en funktion, der konverterer små tal i ord.
  6. 6
    Gå tilbage til din projektmappe, og bruge funktionen ved at starte indholdet af en celle med et lighedstegn efterfulgt af navnet på din funktion. Vedhæft til navnet på den funktion en åbning parentes, parametrene adskilt af kommaer og en afsluttende højreparentes. For eksempel:
    = NumberToLetters (A4)
    Du kan også bruge dit brugerdefineret formel ved at kigge efter det i User Defined kategori i Indsæt formel guiden. Bare klik på Fx knappen placeret til venstre for formellinjen.
    Parametrene kan være af tre typer:
  7. Konstante værdier indtastes direkte i cellen formel. Strenge skal citeres i denne sag.
Cellereferencer som b6 eller interval referencer som A1: C3 (parameteren skal være af intervallet datatype) andre funktioner indlejret inde i din funktion (din funktion kan også indlejret i andre funktioner). Dvs.: = factorial (max (D6: D8))
7
Kontroller resultatet er ok efter brug af funktionen flere gange for at sikre, at det håndterer forskellige parameterværdier korrekt:

Tips

Excel har mange indbyggede funktioner og de ​​fleste beregninger kan gøres ved at bruge dem enten alene eller i kombination. Sørg for at du går gennem listen over tilgængelige funktioner, før du begynder kodning din egen. Fuldbyrdelsen kan være hurtigere, hvis du bruger den indbyggede funktioner. hvis du ikke ved, hvordan man skriver koden til en funktion, kan du læse , hvordan man skriver en simpel makro i Microsoft Excel. når du skriver en blok af kode inde i en kontrol struktur som hvis for, gør, etc. Sørg for at du led blokken af kode ved hjælp af et par blanke mellemrum eller fane (stil indrykningen er op til dig). Det vil gøre din kode lettere at forstå, og du vil finde en masse lettere at få øje fejl, og foretage forbedringer. bruge et navn, er ikke allerede defineret som en funktion navn i excel, eller du vil ende med at blive i stand til kun at bruge en af funktionerne. undertiden kan en funktion ikke kræver, at alle parametre til at beregne et resultat. I så fald kan du bruge søgeordet valgfri foran navnet på den parameter i funktionen header. Du kan bruge funktionen ismissing (parameter_name) i koden til at bestemme hvis parameteren fik en værdi eller ej.

Advarsler

På grund af sikkerhedsmæssige foranstaltninger, kan nogle mennesker deaktivere makroer. Sørg for at du lader dine kolleger kender bogen, du sender dem har makroer, og at de kan stole på de ikke kommer til at skade deres computere. de funktioner, der anvendes i denne artikel er på ingen måde den bedste måde at løse de problemer. De blev brugt her kun at forklare brugen af kontrol strukturer sproget. VBA, som alle andre sprog, har flere andre kontrolstrukturer udover gør, hvis og. De er blevet forklaret her kun for at præcisere, hvad slags ting kan ske inde i funktionen kildekoden. Der er mange online tutorials til rådighed, hvor du kan lære VBA.