Hur man skapar användardefinierade funktioner i Microsoft Excel

Innehållsförteckning:

Hur man skapar användardefinierade funktioner i Microsoft Excel
Hur man skapar användardefinierade funktioner i Microsoft Excel

Video: Hur man skapar användardefinierade funktioner i Microsoft Excel

Video: Hur man skapar användardefinierade funktioner i Microsoft Excel
Video: 🍕 РАНГ P БОСС THE NOISE ХАРДКОР! НОЙЗ ПРОТИВ ПЕППИНО 😈 PIZZA TOWER (Пицца тауэр) Прохождение 2024, Maj
Anonim

Även om Excel redan har hundratals inbyggda funktioner som SUM, VLOOKUP, VÄNSTER och så vidare, är de tillgängliga inbyggda funktionerna vanligtvis inte tillräckliga för att utföra ganska komplexa uppgifter. Oroa dig dock inte för du behöver bara skapa de nödvändiga funktionerna själv.

Steg

Skapa en användardefinierad funktion i Microsoft Excel Steg 1
Skapa en användardefinierad funktion i Microsoft Excel Steg 1

Steg 1. Skapa en ny arbetsbok eller öppna den arbetsbok som du vill bearbeta med användardefinierade funktioner (UDF)

Skapa en användardefinierad funktion i Microsoft Excel Steg 2
Skapa en användardefinierad funktion i Microsoft Excel Steg 2

Steg 2. Öppna Visual Basic Editor i Microsoft Excel via Verktygs-> Makro-> Visual Basic Editor (eller tryck på genvägen Alt+F11)

Skapa en användardefinierad funktion i Microsoft Excel Steg 3
Skapa en användardefinierad funktion i Microsoft Excel Steg 3

Steg 3. Klicka på knappen Modul för att lägga till en ny modul i ditt kalkylblad

Du kan skapa en UDF i en arbetsbok utan att lägga till en ny modul, men funktionen fungerar inte i andra kalkylblad i samma arbetsbok.

Skapa en användardefinierad funktion i Microsoft Excel Steg 4
Skapa en användardefinierad funktion i Microsoft Excel Steg 4

Steg 4. Skapa "huvudet" eller "prototypen" för din funktion

Funktionsprototypen måste följa följande struktur:

offentlig funktion "Funktionsnamn" (parameter1 Som typ1, parameter2 Som typ2) Som Resultattyp.

Prototyper kan ha så många funktioner som möjligt, och deras typer kan vara alla grundläggande datatyper eller Excel -objekttyper i form av intervall. Du kan tänka på parametrar som "operanter" (operatörer) som funktionen kommer att verka på. Till exempel, när du skriver SIN (45) för att beräkna sinus på 45 grader, kommer talet 45 att tas som en parameter. Funktionskoden använder sedan dessa värden för att utföra beräkningar och visa resultaten.

Skapa en användardefinierad funktion i Microsoft Excel Steg 5
Skapa en användardefinierad funktion i Microsoft Excel Steg 5

Steg 5. Lägg till funktionskoden för att säkerställa att du: 1) använder värdet som anges av parametern; 2) skicka resultatet till funktionsnamnet; och 3) stäng funktionen med meningen "slutfunktion". Att lära sig att programmera i VBA eller på något annat språk tar mycket tid och detaljerad vägledning. Lyckligtvis har dessa funktioner vanligtvis små kodblock och använder inte mycket programmeringsspråk. Här är några delar av VBA -språket som kan användas:

  1. If (if) -blocket, som gör att du bara kan köra en del av koden om villkoret är uppfyllt. Som ett exempel:
  2. Public Function Course Result (As Integer value) As String

    Om värde> = 5 Då

    Kursresultat = "Godkänt"

    Annan

    Kursresultat = "Avvisat"

    Avsluta om

    Avsluta funktion

    Lägg märke till elementen i If -kodblocket:

    IF -tillstånd DÅ kod ELSE -kod END IF

  3. . Du kan utelämna Else -sökordet tillsammans med den andra delen av koden eftersom det är valfritt.
  4. Do (do) -blocket, som kör en del av While- eller Till -koden när eller tills villkoret är uppfyllt. Som ett exempel:
  5. Offentlig funktion BilPrima (värde som heltal) som booleskt

    Dim i As Integer

    jag = 2

    BilPrima = Sant

    Do

    Om värde / i = Int (värde / i) Då

    BilPrima = Falskt

    Avsluta om

    i = i + 1

    Loop While i <value And NumberPrima = True

    Avsluta funktion

    Titta igen på elementen:

    GÖR koden LOOP WHILE/UNTIL skick

  6. . Notera också den andra raden som "deklarerar" variabeln. Du kan lägga till variabler i din kod för senare användning. Variabler fungerar som tillfälliga värden i koden. Slutligen betrakta funktionsdeklarationen som BOOLEAN, som är en datatyp som endast tillåter SANT eller FALSKT värde. Denna metod för att bestämma primtal är långt ifrån optimal, men koden har skrivits på ett sådant sätt att den är lätt att läsa.
  7. För block (till), som kör en viss mängd kod. Som ett exempel:
  8. Public Function Factorial (värde som heltal) Så länge

    Dim resultat så länge

    Dim i As Integer

    Om värde = 0 Då

    resultat = 1

    ElseIf värde = 1 Då

    resultat = 1

    Annan

    resultat = 1

    För i = 1 Att värdera

    resultat = resultat * i

    Nästa

    Avsluta om

    Factorial = resultat

    Avsluta funktion

    Titta igen på elementen:

    FÖR variabel = nedre gräns TILL övre gräns för kod NÄSTA

    . Observera också det ytterligare ElseIf -elementet i If -satsen, som låter dig lägga till fler alternativ till koden som körs. Slutligen, överväga funktionen "resultat" och variabel som deklareras som lång. Den långa datatypen tillåter mycket större värden än heltal.

    Nedan visas koden för en funktion som omvandlar små tal till ord.

    Skapa en användardefinierad funktion i Microsoft Excel Steg 6
    Skapa en användardefinierad funktion i Microsoft Excel Steg 6

    Steg 6. Återgå till arbetsboken och använd funktionen genom att skriva symbolen”lika” (=) följt av namnet på funktionen i cellen

    Skriv öppningsfästena (“(“) efter funktionsnamnet med hjälp av tecknet koma för att separera parametrarna och avsluta med stängningsfästen (“)”). Som ett exempel:

    = NumberToLetter (A4)

    . Du kan också använda hemlagade formler genom att söka efter dem i kategorier Användardefinierad inuti alternativet Infoga formel. Du klickar bara på knappen Fx till vänster om formelfältet. Det finns tre typer av parameterformer i funktioner:

    1. Ett konstant värde som skrivs in direkt i cellformeln. I detta fall måste texten (strängen) citeras.
    2. Cellreferenser, till exempel B6 eller intervall som A1: C3 (parametern måste vara datatypen "Range")
    3. En annan funktion som ingår i din funktion (din funktion kan också ingå i en annan funktion), till exempel: = Factorial (MAX (D6: D8))

      Skapa en användardefinierad funktion i Microsoft Excel Steg 7
      Skapa en användardefinierad funktion i Microsoft Excel Steg 7

      Steg 7. Se till att resultaten är korrekta

      Använd den flera gånger för att se till att funktionen kan hantera olika parametervärden korrekt:

      Tips

      • När du skriver kodblock i kontrollstrukturer som If, For, Do, etc., se till att du indragar (sätt in den vänstra linjen lite inuti) kodblocket genom att trycka på mellanslagstangenten flera gånger eller fliken. Detta kommer att göra koden lättare att förstå och fel blir mycket lättare att hitta. Dessutom blir ökningen av funktionalitet lättare att göra.
      • Om du inte vet hur du skriver kod för funktioner, läs artikeln Hur man skriver ett enkelt makro i Microsoft Excel.
      • Ibland behöver funktioner inte alla parametrar för att beräkna resultatet. I det här fallet kan du använda det valfria nyckelordet före parameternamnet i funktionsrubriken. Du kan använda funktionen IsMissing (parameternamn) i koden för att avgöra om en parameter tilldelas ett värde eller inte.
      • Använd oanvända namn som funktioner i Excel så att inga funktioner skrivs över och tas bort.
      • Excel har många inbyggda funktioner och de flesta beräkningar kan utföras med hjälp av dessa inbyggda funktioner, antingen individuellt eller alla samtidigt. Se till att titta på listan över tillgängliga funktioner innan du börjar koda själv. Exekvering kan göras snabbare om du använder inbyggda funktioner.

      Varning

      • Av säkerhetsskäl inaktiverar många människor makron. Se till att du meddelar dina arbetsboksmottagare att den inlämnade arbetsboken har makron och att dessa makron inte skadar deras datorer.
      • Funktionen som används i den här artikeln är inte det bästa sättet att lösa det relaterade problemet. Exemplet används för att förklara användningen av språkkontrollstrukturer.
      • VBA, liksom andra språk, har flera andra kontrollstrukturer förutom Do, If och For. Strukturen som diskuteras här beskriver bara vad som kan göras i funktionens källkod. Det finns många guider på internet som kan användas för att lära dig VBA.

Rekommenderad: