|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2002
Messaggi: 109
|
[VBA] Restiruire valore tra funzioni
Ciao,
ho una domanda veramente stupida... ma non sto trovando info e vorrei accorciare i tempi. Vorrei sapere come poter restiuire un valore ad una varibile Sub main() i=0 Call FX (i) End sub Sub FX(i) i=i+1 EndSub Vorrei resituire al main il valore di "i" calcolato nella funzione FX. Sto commenttendo un errore e non lo trovo. Basandosi su questo esempio cosa mi potete dire? Grazie
|
|
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22055
|
soluzione 1: (brutale) dichiara i globale ovvero scrivi la dichiarazione di i prima di qualunque funzione
soluzione 2: usa i le funzioni e i parametri Function Fx(i as Integer) as Integer Fx=i+1 end Function
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2002
Messaggi: 109
|
Soluzione1
già provata... e non va. Soluzione2 non vorrei sbagliare ma in questo modo non ritorno nulla al main. |
|
|
|
|
|
#4 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22055
|
Quote:
giusto per farti capire come funziona ti scrivo il codice completo Function Fx(a As Integer) As Integer Fx = a + 1 End Function Sub main() Dim parametro As Integer Dim risultato As Integer parametro = 1 risultato = Fx(parametro) a = MsgBox(risultato) End Sub se non lo capisci copialo in un modulo ed eseguilo passo passo
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:50.




















