Se volessi memorizzare i risultati in tre variabili, senza scrivere nelle celle,
si può fare?
Una "Function" e' fatta per restituire dei valori direttamente al chiamante, che sia una formula excel o un macro.
Vista la domanda, immagino che parli di Function richiamabili solo da altre macro.
Comunque la cosa e' fattibile usando variabili condivise con la macro chiamante, quindi comuni a livello di modulo oppure a livello di progetto; ad esempio
- Codice: Seleziona tutto
Function cubo1(ByVal Lato As Double)
'restituisce lista a 3 posizioni con somma spigoli, area, volume
Dim myCubos(1 To 3) As Double
myCubos1(1) = Lato * 12
myCubos1(2) = (Lato ^ 2) * 6
myCubos1(3) = Lato ^ 3
End Function
Presuppone che myCubos1 sia definita e accessibile sia al chiamante che alla Function; ad esempio usando
Dim myCubos1(1 To 3) in testa al modulo che contiene sia la Function che il chiamante.
Tuttavia se parli di qualcosa richiamabile solo da macro sarebbe piu' corretto usare una Sub con parametri, non utilizzabile in una formula; a meno che vuoi usare la Function per ottenere qualcosa di intermedio (ad esempio il risultato codificato della function, tipo False o True, oppure un tipo di Errore), ricorrendo alle variabili condivise per il dettaglio del risultato.
Ma qui entriamo nel dominio dell' identificazione dell' algoritmo di soluzione del problema e dello stile di programmazione, cose assolutamente personali perche' legate alle proprie conscenze e proprie abitudini.
Ciao