Meer
Hoe een resultaat van een VBA-functie teruggeven
Hoe kan ik een resultaat van een functie teruggeven?
Bijvoorbeeld:
Public Function test() As Integer
return 1
End Function
Dit geeft een compileerfout.
Hoe kan ik deze functie een geheel getal laten teruggeven?
254
3
Voor niet-object return types moet je de waarde toewijzen aan de naam van je functie, zoals dit:
Voorbeeld gebruik:
Als de functie een Object type teruggeeft, dan moet je het
Set
sleutelwoord gebruiken zoals dit:Voorbeeld gebruik:
Merk op dat het toekennen van een return-waarde aan de functienaam de uitvoering van je functie niet beëindigt. Als je de functie wilt beëindigen, dan moet je expliciet
Exit Function
zeggen. Bijvoorbeeld:Documentatie: http://msdn.microsoft.com/en-us/library/office/gg264233%28v=office.14%29.aspx
VBA functies behandelen de functienaam zelf als een soort variabele. Dus in plaats van een "
return
" statement te gebruiken, zou je gewoon zeggen:Merk echter op dat dit de functie niet verbreekt. Alle code na dit statement zal ook worden uitgevoerd. Je kunt dus veel opdracht-statements hebben die verschillende waarden aan
test
toekennen, en wat de waarde is als je het einde van de functie bereikt, zal de teruggegeven waarde zijn.Alleen de return-waarde op de functienaam zetten is nog steeds niet exact hetzelfde als het Java (of andere)
return
statement, omdat in java,return
de functie afsluit, zoals dit:In VB, duurt het exacte equivalent twee regels als je de return waarde niet aan het eind van je functie zet. Dus, in VB zou de exacte corollary er als volgt uitzien:
Aangezien dit het geval is, is het ook leuk om te weten dat je de return variabele kunt gebruiken zoals elke andere variabele in de methode. Zoals dit: