Forståelse funktioner i makroer

Du ved allerede, at du kan bruge subrutiner i dine makroer. VBA giver dig også mulighed for at definere funktioner, der kan bruges i dine makroer. Forskellen mellem funktioner og subrutiner er, at funktioner kan returnere værdier, hvorimod subrutiner ikke kan. Overvej følgende makro:

Sub Macro1 ()
TooMany = TestFunc
Hvis TooMany Så MsgBox "For mange kolonner valgt"
End Sub

Funktion TestFunc ()
TestFunc = false
Hvis Selection.Columns.Count> 10 Derefter
TestFunc = True
End hvis
End Function

Makroen (Macro1) kalder TestFunc funktionen. Denne funktion returnerer enten værdien falsk eller sand, afhængig af en test den udfører. Macro1 derefter virker på den returnerede værdi. Bemærk, at funktionen navn kan vises på højre side af et lighedstegn. Dette gør funktioner meget magtfulde og en vigtig del af ethvert program. Inden funktionen resultatet er tildelt TestFunc, hvilket er navnet på selve funktionen; dette er den værdi, der returneres af funktionen.

Som med subrutiner, kan du også overføre parametre til dine funktioner. Dette er illustreret i følgende makro:

Sub Macro1 ()
A = 12,3456
MsgBox A & vbCrLf & RoundIt (A)
End Sub

Funktion RoundIt (X) As Integer
RoundIt = Int (X + 0,5)
End Function

Denne enkle makro (Macro1) defineres en række, og bruger derefter en besked boks for at vise det, og resultatet af at passere nummeret til RoundIt funktionen. Udgangen er 12,3456 og 12. Bemærk, at parameteren bør videregives til funktionen i parentes. Bemærk også, at funktionen ikke bruger den samme variabel navn, som det blev vedtaget. Dette skyldes, at VBA gentildeler værdien af ​​X (hvad funktionen har brug for), så det svarer til værdien af ​​A (hvad programmet går til funktionen). Det vigtige ting at huske i forbifarten parametre til funktioner, er, at dit program skal bestå det samme antal parametre som funktion forventer, og de parametre skal være af matchende typer og i den rigtige rækkefølge.

ExcelTips er din kilde til omkostningseffektiv Microsoft Excel træning. Dette tip (11765) gælder for Microsoft Excel 2007 og 2010. Du kan finde en version af dette tip for den ældre menu interface Excel her: Forståelse Funktioner i makroer.


© 2021 Zajacperrone.com | Contact us: webmaster# zajacperrone.com