Selv når Excel har mange, sandsynligvis hundredvis af indbyggede funktioner som SUM, VLOOKUP, LEFT osv., Så snart du begynder at bruge Excel til mere komplicerede opgaver, finder du ofte, at du har brug for en funktion, som ikke eksisterer. Du skal ikke bekymre dig, du er slet ikke fortabt. Alt du behøver er at oprette funktionen selv.

Steps

  1. 1 Opret en ny arbejdsbog eller åben arbejdsbogen, hvor du vil bruge din nyoprettede brugerdefinerede funktion (UDF).
  2. 2 Åbn Visual Basic Editor som er indbygget i Microsoft Excel ved at gå til Tools-> Macro-> Visual Basic Editor (eller trykke på Alt + F11).
  3. 3 Tilføj et nyt modul til din projektmappe ved at klikke på den viste knap. Du kan oprette den brugerdefinerede funktion i selve regnearket uden at tilføje et nyt modul, men det gør det ikke muligt for dig at bruge funktionen i andre regneark i samme projektmappe.
  4. 4 Opret "header" eller "prototype" af din funktion. Det skal have følgende struktur:
    offentlig funktion "Navn på din funktion" (param1 Som type1, param2 Som type2) Som retur Type Det kan have så mange parametre som du vil, og deres type kan være en af ​​Excels grundlæggende datatyper eller objekttyper som Range. Du kan tænke på parametre som "operandene", som din funktion vil reagere på. For eksempel, når du siger SIN (45) for at beregne Sinus af 45 grader, vil 45 blive taget som en parameter. Derefter vil koden til din funktion bruge den værdi til at beregne noget andet og præsentere resultatet.
  5. 5 Tilføj funktionskoden, og sørg for at du 1) bruger de værdier, der er angivet af parametrene; 2) tildele resultatet til navnet på funktionen; og 3) Luk funktionen med "slutfunktion". At lære at programmere i VBA eller på et hvilket som helst andet sprog kan tage lidt tid og en detaljeret vejledning. Funktioner har dog normalt små kodeblokke og bruger meget få funktioner i et sprog. De mere nyttige elementer i VBA-sproget er:
    1. Det Hvis blokering, som giver dig mulighed for kun at udføre en del af koden, hvis en betingelse er opfyldt. For eksempel:

      Offentligt Funktion Kursresultat (klasse som helhed) som streng
      Hvis klasse> = 5 Så
      CourseResult = "Godkendt"
      Andet
      CourseResult = "Afvist"
      Afslut Hvis
      Slutfunktion

      Bemærk elementerne i en Hvis kodeblok: Hvis betingelse, så kode ELLER kode END IF. Det Andet Søgeord sammen med den anden del af koden er valgfri.
    2. Det gøre blokere, som udfører en del af koden Mens eller Indtil en betingelse er opfyldt. For eksempel:
      Offentlig funktion IsPrime (værdi som integer) Som boolsk
      Dim jeg som helhed
      i = 2
      IsPrime = True
      gøre
      Hvis værdi / i = Int (værdi / i) Så
      IsPrime = False
      Afslut Hvis
      i = i + 1
      Loop Mens jeg <værdi og 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 inde i koden. Endelig bemærke erklæringen af ​​funktionen som BOOLEAN, som er en datatype, der kun tillader de sande og falske værdier. Denne metode til at bestemme om et tal er primært er langt ikke det optimale, men jeg har forladt det på den måde for at gøre koden lettere at læse.
    3. Det Til blok, som udfører en del af koden et angivet 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å
      resultat = 1
      ElseIf værdi = 1 Så
      resultat = 1
      Andet
      resultat = 1
      For i = 1 Til værdi
      resultat = resultat * i
      Næste
      Afslut Hvis
      Factorial = resultat
      Slutfunktion

      Bemærk elementerne igen:FOR variabel = nedre grænse TIL øvre grænse kode NEXT. Bemærk også den tilføjede EllersHvis element i Hvis erklæring, som giver dig mulighed for at tilføje flere muligheder til den kode, der skal udføres. Endelig bemærke erklæringen af ​​funktionen og variablen "resultat" som Lang. Det Lang datatype tillader værdier meget større end Heltal.
      Nedenfor vises koden for en funktion, der konverterer små tal til ord.
  6. 6 Gå tilbage til din projektmappe og brug funktionen ved at starte indholdet af en celle med en lige tegn efterfulgt af navnet på din funktion. Tilføj til funktionens navn en åbnings parentes, parametrene adskilt af kommaer og en endelig lukke parentes. For eksempel:
    = NumberToLetters (A4)
    Du kan også bruge din brugerdefinerede formel ved at kigge efter den i Brugerdefineret kategori i guiden Indsæt formel. Bare klik i fx knappen til venstre for formellelinjen. Parametrene kan være af tre typer:
    1. Konstante værdier indtastes direkte i celleformlen. Strenge skal citeres i denne sag.
    2. Cellehenvisninger som B6 eller interval referencer som A1: C3 (parameteren skal være af Rækkevidde datatype)
    3. Andre funktioner indlejret inde i din funktion (din funktion kan også indlejres inde i andre funktioner). I.e .: = Faktorisk (MAX (D6: D8))
  7. 7 Kontroller, at resultatet er Ok efter at du har brugt funktionen flere gange for at sikre, at den håndterer forskellige parameterværdier korrekt: