PopAds.net - The Best Popunder Adnetwork

Le funzioni in VBA

    Oltre alle procedure, esiste un'altra tipologia di sottoprogramma, ovvero le Funzioni. Mentre le procedure non restituiscono valori e si limitano a variare gli argomenti loro passati, le funzioni restituiscono un singolo valore che può essere assegnato ad una variabile o usato all’interno di un’espressione.
    Una tipica funzione ha la seguente sintassi:
    Public Function NomeFunzione(elencoParametri) As TipoDato
    	NomeFunzione = QualcheValore
    End Function
    
    Nella dichiarazione della funzione, è possibile definire il tipo di dato che essa restituisce. All’interno della funzione è necessario comunicare quale valore la funzione deve restituire. Tale valore deve essere assegnato al nome identificativo della funzione.
    Nell’esempio, che calcola la conversione da Iarde a metri, è definita la procedura conversione() che richiama la funzione IardeMetri(), che esegue il calcolo:
    Sub conversione()
    	Iarde = InputBox("Inserisci una misura in Iarde", "Conversione")
    	Metri = IardeMetri(CSng(Iarde))
    	MsgBox Iarde & " iarde corrispondono a " & Metri & " metri ", _ 
    	vbInformation, "Conversione"
    End Sub
    
    Public Function IardeMetri(Iarde As Single) As Single
    	Const Conv = 0.9
    	IardeMetri = Iarde * Conv
    End Function
    
    In questo caso la funzione, restituendo un valore numerico, avrebbe potuto essere inserita anche in una espressione matematica. Esempio:
    Metri = IardeMetri(CSng(Iarde)) * 4
    Se dimentichiamo di assegnare il valore al nome funzione, questa non restituirà nulla. Inoltre a prescindere dal tipo di dati associato al valore restituito, la variabile alla quale si vuole assegnare questo valore dovrà contenere lo stesso tipo di dati.
    Come nelle procedure anche nelle Function è possibile passare gli argomenti, ed è possibile definirne il numero ed il tipo.
    E’ possibile uscire anticipatamente da una funzione usando il codice:
    Exit Function
    Visual Basic prevede molte funzioni predefinite ed incorporate, ad esempio:
    Abs(Numero)Calcola il valore assoluto di un numero
    DateRestituisce la data di sistema
    LCase(Stringa)Converte una stringa in caratteri minuscoli