Även när Excel har en hel del, förmodligen hundratals, av inbyggda funktioner som SUM, LETARAD VÄNSTER, och så vidare, när du börjar använda Excel för mer komplicerade uppgifter, kommer du ofta att du behöver en funktion som inte finns. Oroa dig inte, du är inte förlorat alls, är allt du behöver för att skapa funktionen själv.
Steg
- 1Skapa en ny arbetsbok eller öppna arbetsboken som du vill använda din nyskapade användaren definierad funktion (UDF).
- 2Öppna Visual Basic Editor, som är inbyggd i Microsoft Excel genom att gå till Verktyg-> Makro-> Visual Basic Editor (eller trycka Alt + F11).
- 3Lägg till en ny modul i arbetsboken genom att klicka på den visade knappen. Du kan skapa användardefinierade funktionen i kalkylbladet sig utan att lägga till en ny modul, men det kommer att göra dig oförmögen att använda funktionen i andra kalkylblad i samma arbetsbok.
- 4Skapa "header" eller "prototyp" av din funktion. Det måste ha följande struktur:
public function TheNameOfYourFunction (param1 Som typ1, param2 Som typ2) Som returnType
Det kan ha så många parametrar som du vill, och deras typ kan vara något av Excels grundläggande datatyper eller objekttyper som Range. Du kanske tänker på parametrar som "operander" din funktion kommer att agera utifrån. Till exempel, när du säger SIN (45) för att beräkna sinus för 45 grader, kommer 45 att tas som en parameter. Då koden för din funktion kommer att använda detta värde för att beräkna något annat och presentera resultatet. - 5Lägg koden för funktionen gör att du 1) använda de värden som de parametrar, 2) tilldela resultatet till namnet på funktionen, och 3) stänga av funktionen med "end-funktion".
Att lära sig att programmet i VBA eller på något annat språk som kan ta lite tid och en detaljerad handledning. Men funktionerna har oftast små kodblock och använder väldigt få funktioner i ett språk. De mer användbara delar av VBA språket är:- Den Om block, vilket gör att du kan utföra en del av koden endast om ett villkor är uppfyllt. Till exempel:
If grade >= 5 Then
Else
End If
End Function
Lägg märke till de delar i ett Om kodblock:IF condition THEN code ELSE code END IF
. Den Else sökord tillsammans med den andra delen av koden är valfria. - Den Täpp, som utför en del av koden Medan eller tills ett villkor är uppfyllt. Till exempel:
Public Function IsPrime(value As Integer) As Boolean
i = 2
Do
IsPrime = False
i = i + 1
End Function
Lägg märke till de delar igen:DO code LOOP WHILE/UNTIL condition
. Lägg också märke till den andra raden i vilken en variabel "förklaras". Du kan lägga till variabler i koden så att du kan använda dem senare. Variabler fungera som tillfälliga värden inne i koden. Slutligen märker deklarationen av funktionen As Boolean, vilket är en datatyp som tillåter endast den sanna och falska värden. Denna metod för att avgöra om ett tal är prime är absolut inte det optimala, men jag har lämnat det på det sättet att göra koden lättare att läsa. - Den för blocket, som utför en del av koden ett visst antal gånger. Till exempel:
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
Lägg märke till de delar igen:FOR variable = lower limit TO upper limit code NEXT
. Lägg också märke till den extra Elseif elementet i If-uttryck, vilket gör att du kan lägga till fler alternativ till den kod som skall exekveras. Slutligen märker deklarationen av funktionen och variabeln "resultat" som Long. The Long datatyp tillåter värden betydligt större än Integer.
Nedan visas kod för en funktion som omvandlar litet antal i ord.
- Den Om block, vilket gör att du kan utföra en del av koden endast om ett villkor är uppfyllt. Till exempel:
- 6Gå tillbaka till din arbetsbok och använda funktionen genom att starta om innehållet i en cell med ett likhetstecken följt av namnet på din funktion. Bifoga till namnet på den funktion en inledande parentes, parametrarna med kommatecken och ett slutligt avslutande parentes. Till exempel:
= NumberToLetters (A4)
Du kan också använda användardefinierade formel genom att söka efter det i den användardefinierade kategorin i Infoga formel guiden. Klicka bara på Fx-knappen placerad till vänster om formelfältet.
Parametrarna kan vara av tre typer:
- Konstanta värden skrivs in direkt i cellen formeln. Strängar måste citeras i detta fall.
7
Verifiera resultatet är ok efter att ha använt funktionen flera gånger så att den hanterar olika parametervärden korrekt: Tips
Excel har många inbyggda funktioner och de flesta beräkningar kan göras genom att använda dem antingen självständigt eller i kombination. Se till att du går igenom listan över tillgängliga funktioner innan du börjar koda din egen. Execution kan vara snabbare om du använder den inbyggda funktionerna. Om du inte vet hur man skriver kod för en funktion, läs hur man skriver ett enkelt makro i Microsoft Excel. när du skriver ett block av kod inuti en kontrollstruktur som om, för, gör, etc. Se till att du strecksatsen kodblock med några mellanslag eller tab (stil indrag är upp till dig). Det kommer att göra din kod enklare att förstå och du hittar mycket lättare att upptäcka fel och göra förbättringar. använda ett namn som inte redan definierad som en funktion namn i excel eller du kommer att hamna kunna använda bara en av funktionerna. ibland kan en funktion kräver inte alla parametrar för att beräkna ett resultat. I så fall kan du använda nyckelordet frivilligt före namnet på parametern i funktionen header. Du kan använda funktionen IsMissing (parameter_name) inuti koden för att bestämma om parametern tilldelades ett värde eller inte.
Varningar
På grund av säkerhetsåtgärder, kan vissa människor inaktivera makron. Se till att du låter dina kollegor vet boken du skickar dem har makron och att de kan lita på att de inte kommer att skada deras datorer. de funktioner som används i denna artikel är inte på något sätt, det bästa sättet att lösa problem. De användes här endast för att förklara användandet av kontrollstrukturer av språket. VBA, som alla andra språk, har flera andra kontrollstrukturer förutom gör, om och om. De har förklarat här bara för att klargöra vilken typ av saker kan göras inuti funktionen källkoden. Det finns många online tutorials som finns där du kan lära dig VBA.