VBA in Excel.
Vorrei impostare una function in modo tale che digitando nella cella il nome ed il paramentro mi renda un certo calcolo sulla base di certi valori impostati nel foglio stesso. un po come "=Somma(..)" ma con una mia funzione.

Banale codice iniziale :

codice:
function Ftr(Mese)

  'Scrive nel foglio il valore parametro per variare i totali..		
  sheets("Foglio2").Range("A1").Value = Mese
	
  'Recupero i totali e rendo la somma
  Frt = sheets("Foglio2").Range("B1") + sheets("Foglio2").Range("B2")

end function
in teoria digitando nella cella ' =Ftr(2) ' dovrebbe essermi calcolato un valore

Problema: non funziona!

La function si ferma sulla richiesta di scrittura (Sheet("Foglio2"). ... .Range("B2)) e non avanza, non rendendo alcun errore. è come se a quel punto ci fosse un "exit function" che mi butta fuori dalla funzione.

La cosa strana è che se creo una sub (una macro) con quel codice, invece scrive correttamente. Di più: se registro una macro e sposto il codice dalla sub generata automaticamente (es sub Macro4() ) alla mia function, non modificando nulla, la function non va! alla richiesta di impostare un Value esce dalla function!!

il risultato visualizzato è un #Valore? nella cella in cui ho richiamato Frt.

PS: Se remmo la prima riga del codice, la seconda viene eseguita correttamente.



al di la della logica del codice.. come mai in una function NON riesco a scrivere in una cella come posso fare con una normale function?

Commenti?