Hur skapar jag en användardefinierad funktion i Microsoft Excel?

Läs Hur man skriver ett enkelt makro i Microsoft Excel
Om du inte vet hur man skriver koden för en funktion, läs Hur man skriver ett enkelt makro i Microsoft Excel.

Även när Excel har många, förmodligen hundratals, inbyggda funktioner som SUM, VLOOKUP, VÄNSTER och så vidare, när du börjar använda Excel för mer komplicerade uppgifter, kommer du ofta att upptäcka att du behöver en funktion som inte finns. Oroa dig inte, du är inte förlorad alls, allt du behöver är att skapa funktionen själv.

Steg

  1. 1
    Skapa en ny arbetsbok eller öppna arbetsboken där du vill använda din nyskapade användardefinierade funktion (UDF).
  2. 2
    Öppna Visual Basic Editor som är inbyggd i Microsoft Excel genom att gå till verktyg-> Makro-> Visual Basic Editor (eller trycka på alt + f11).
  3. 3
    Lägg till en ny modul i din arbetsbok genom att klicka på knappen som visas. Du kan skapa den användardefinierade funktionen i själva kalkylbladet utan att lägga till en ny modul, men det gör att du inte kan använda funktionen i andra kalkylblad i samma arbetsbok.
    Andra funktioner kapslade inuti din funktion (din funktion kan också kapslas inuti andra funktioner)
    Andra funktioner kapslade inuti din funktion (din funktion kan också kapslas inuti andra funktioner).
  4. 4
    Skapa "rubrik" eller "prototyp" för din funktion. Den måste ha följande struktur:
    offentlig funktion "Namnet på din funktion" (param1 Som typ1, param2 Som typ2) Som returtyp Det kan ha så många parametrar som du vill, och deras typ kan vara någon av Excels grundläggande datatyper eller objekttyper som Range. Du kanske tänker på parametrar som "operander" som din funktion kommer att agera på. Till exempel, när du säger SIN (45) för att beräkna Sine på 45 grader, tas 45 som en parameter. Då använder koden för din funktion det värdet för att beräkna något annat och presentera resultatet.
  5. 5
    Lägg till koden för funktionen och se till att du 1) använder de värden som tillhandahålls av parametrarna; 2) tilldela resultatet till funktionens namn; och 3) stäng funktionen med "slutfunktion". Att lära sig att programmera i VBA eller på något annat språk kan ta lite tid och en detaljerad handledning. Men funktioner har vanligtvis små kodblock och använder väldigt få funktioner på ett språk. De mer användbara elementen i VBA-språket är:
    1. Den Om blocket, vilket gör det möjligt att utföra en del av koden endast om ett villkor är uppfyllt. Till exempel: Lägg märke till element i en Om kodblocket:. Den Else sökord tillsammans med den andra delen av koden är valfria.

      Public Function Course Result(grade As Integer) As String
      If grade >= 5 Then
      CourseResult = "Approved"
      Else
      CourseResult = "Rejected"
      End If
      End Function

      IF condition THEN code ELSE code END IF
    2. Den Do blocket, som utför en del av koden medan eller tills ett villkor är uppfyllt. Till exempel: Lägg märke till elementen igen:. Lägg också märke till den andra raden där en variabel "deklareras". Du kan lägga till variabler i din kod så att du kan använda dem senare. Variabler fungerar som tillfälliga värden i koden. Slutligen, lägg märke till deklarationen av funktionen som BOOLEAN, som är en datatyp som endast tillåter SANT och FALSKT. Denna metod för att bestämma om ett tal är primärt är absolut inte det optimala, men jag har lämnat det så för att göra koden lättare att läsa.
      Public Function IsPrime(value As Integer) As Boolean
      Dim i As Integer
      i = 2
      IsPrime = True
      Do
      If value / i = Int(value / i) Then
      IsPrime = False
      End If
      i = i + 1
      Loop While i < value And IsPrime = True
      End Function

      DO code LOOP WHILE/UNTIL condition
    3. Den för blocket, som utför en del av koden ett visst antal gånger. Till exempel: Lägg märke till elementen igen:. Lägg också märke till det tillagda ElseIf- elementet i If- uttalandet, vilket gör att du kan lägga till fler alternativ till koden som ska köras. Slutligen lägger du till deklarationen av funktionen och variabeln "resultat" som Lång. Den långa datatypen tillåter värden som är mycket större än heltal. Nedan visas koden för en funktion som omvandlar små tal till ord.
      Public Function Factorial(value As Integer) As Long
      Dim result As Long
      Dim i As Integer
      If value = 0 Then
      result = 1
      ElseIf value = 1 Then
      result = 1
      Else
      result = 1
      For i = 1 To value
      result = result * i
      Next
      End If
      Factorial = result
      End Function

      FOR variable = lower limit TO upper limit code NEXT
  6. 6
    Gå tillbaka till din arbetsbok och använd funktionen genom att starta innehållet i en cell med ett likhetstecken följt av namnet på din funktion. Lägg till en öppningsparentes till namnet på funktionen, parametrarna åtskilda av komma och en slutlig parentes. Till exempel:
    = NumberToLetters (A4)
    Du kan också använda din användardefinierade formel genom att leta efter den i kategorin Användardefinierad i guiden Infoga formel. Klicka bara på Fx- knappen till vänster om formelfältet. Parametrarna kan vara av tre typer:
    1. Konstantvärden skrivs direkt i cellformeln. Strängar måste citeras i detta fall.
    2. Cellreferenser som B6 eller intervallreferenser som A1: C3 (parametern måste vara av datatypen Range)
    3. Andra funktioner kapslade inuti din funktion (din funktion kan också kapslas inuti andra funktioner). Dvs: = Faktor (MAX (D6: D8))
  7. 7
    Kontrollera att resultatet är ok efter att ha använt funktionen flera gånger för att säkerställa att den hanterar olika parametervärden korrekt:
Skapa en ny arbetsbok eller öppna arbetsboken där du vill använda din nyskapade användardefinierade funktion
Skapa en ny arbetsbok eller öppna arbetsboken där du vill använda din nyskapade användardefinierade funktion (UDF).

Tips

  • Varje gång du skriver ett kodblock inuti en kontrollstruktur som If, For, Do, etc., se till att du drar in kodblocket med några tomma blanksteg eller flik (stilen för indrag är upp till dig). Det kommer att göra din kod lättare att förstå och det blir mycket lättare att upptäcka fel och göra förbättringar.
  • Om du inte vet hur man skriver koden för en funktion, läs Hur man skriver ett enkelt makro i Microsoft Excel.
  • Ibland kanske en funktion inte kräver alla parametrar för att beräkna ett resultat. I så fall kan du använda nyckelordet Valfritt före namnet på parametern i funktionshuvudet. Du kan använda funktionen IsMissing (parameternamn) inuti koden för att avgöra om parametern tilldelades ett värde eller inte.
  • Använd ett namn som inte redan har definierats som ett funktionsnamn i Excel, annars kan du bara använda en av funktionerna.
  • Excel har många inbyggda funktioner och de flesta beräkningar kan göras genom att använda dem antingen oberoende eller i kombination. Se till att du går igenom listan över tillgängliga funktioner innan du börjar koda din egen. Utförandet kan gå snabbare om du använder de inbyggda funktionerna.

Varningar

  • Funktionerna som används i den här artikeln är inte det bästa sättet att lösa de relaterade problemen. De användes här endast för att förklara användningen av språkets kontrollstrukturer.
    Du kan skapa den användardefinierade funktionen i själva kalkylbladet utan att lägga till en ny modul
    Du kan skapa den användardefinierade funktionen i själva kalkylbladet utan att lägga till en ny modul, men det gör att du inte kan använda funktionen i andra kalkylblad i samma arbetsbok.
  • VBA, som alla andra språk, har flera andra kontrollstrukturer förutom Do, If och For. De har förklarats här endast för att klargöra vilken typ av saker som kan göras inuti funktionskällkoden. Det finns många online-tutorials tillgängliga där du kan lära dig VBA.
  • På grund av säkerhetsåtgärder kan vissa människor inaktivera makron. Se till att du låter dina kollegor veta att boken du skickar dem har makron och att de kan lita på att de inte kommer att skada sina datorer.

Frågor och svar

  • Hur kan jag använda dessa funktioner i alla Excel-filer?
    Spara arbetsboken med den anpassade klassen som "Excel-tillägg (*.xlam"), "som standard tar Excel dig till" Tillägg "-mappen. Gå till Excel-alternativ> Tillägg> Hantera:" Excel-tillägg "- tryck "Gå..." -knapp. Bläddra efter din nyskapade xlam-fil.
  • Hur vet jag vad jag ska skriva som funktionskod?
    För att skapa funktioner behöver du en färdighet som kallas "programmering". Excel-makron är skrivna på ett språk som kallas "Visual Basic for Applications", som du måste lära dig för att kunna skriva makron. Det är ganska enkelt när du har fått tag på det!
  • Hur kan jag göra det bra i tentor?
    Läs anvisningarna flera gånger och lämna tid för dig att absorbera mellan avläsningarna. Öva också att skriva VBA för att göra olika saker.

Relaterade artiklar
  1. Hur använder jag smarta filter i Photoshop?
  2. Hur man sätter ihop två bilder?
  3. Hur byter man ansikten i Photoshop?
  4. Hur skapar man en klippmask i Photoshop?
  5. Hur återställer jag Word-dokument?
  6. Hur använder jag Excel 2007?
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail