Som standard är UDF: s ( Användardefinierade funktioner ) i Excel VBA är inte flyktiga. De räknas bara om när någon av funktionens argument ändras. A flyktig funktion kommer att räknas om när beräkning sker i alla celler i kalkylbladet. Låt oss titta på ett enkelt exempel för att förklara detta lite mer.
1. Öppna Visual Basic Editor och klicka på Infoga, modul.
+ eller - symbol i Excel
Skapa en funktion som heter MYFUNCTION som returnerar summan av den markerade cellen och cellen under denna cell.
2. Lägg till följande kodrader:
FungeraMYFUNCTION (cellSomRäckvidd)MYFUNCTION = cell.Värde + cell.Offset (1, 0) .Värde
Slutet Fungera
3. Nu kan du använda den här funktionen, precis som alla andra Excel -funktioner.
4. Detta är en icke-flyktig funktion. Icke-flyktiga funktioner räknas bara om när någon av funktionens argument ändras. Ändra värdet på cell B2 till 8.
5. Ändra nu värdet på cell B3 till 11.
Förklaring: den icke-flyktiga funktionen beräknas inte om när någon annan cell på arket ändras.
6. Uppdatera funktionen enligt följande för att göra funktionen flyktig:
FungeraMYFUNCTION (cellSomRäckvidd)Applikation. Flyktig
MYFUNCTION = cell.Värde + cell.Offset (1, 0) .Värde
Slutet Fungera
7. Ändra värdet på cell B3 till 12.
Resultat:
hur man använder excel utan mus
Obs! Du måste ange funktionen igen för att göra den flyktig (eller uppdatera den genom att placera markören i formelfältet och trycka på enter).
Gå till nästa kapitel: Applikationsobjekt