Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao MB22_MS,
Salve, ho caricato un file di esempio qui:
https://1drv.ms/x/s!AsxSPMFdun_V8T3ijFTIXd-dBhua?e=Os54Ow
Uso Excel in italiano, e la macro verrà poi utilizzata su altri pc sempre in italiano.
Grazie
Per quanto riguarda la tua procedura problemachiocciola, vedo tre problemi:
- Il VBA parla solo inglese e, quindi, non riconosce funzioni con nomi italiani
- Alcune delle formule che stai utilizzando sono intrinsecamente formule matriciali; VBA richiede che queste formule vengano inserite come formule matriciali utilizzando la funzione VBA FormulaArray
- Questa macro dovrebbe trovarsi in un modulo di codice standard anziché nel modulo codice dell'oggetto Questa_cartella_di_lavoro.
Pertanto la tua procedura potrebbe diventare:
'========>>
Public Sub problemachiocciola()
[g1].Formula = "=Average(1,2,3)"
[g2].Formula = "=average(1,2,3)"
[g3].Formula = "=If(1<2, 3)"
[g4].Formula = "=if(1<2, 3)"
[g5].FormulaArray = "=if(b1:b4<b5, b1:b4)"
[g6].FormulaArray = "=Average(If(b1:b4<b5, b1:b4))"
[g7].FormulaArray = "=Average(If(b1:b4<b5, b1:b4))"
[g8].FormulaArray = "=average(if(b1:b4<b5, b1:b4))"
[g9].FormulaArray = "=average(if(b1:b4<b5, if(b1:b4>1, b1:b4)))"
End Sub
'<<========
In questo modo le formule imposte nelle celle G1:G9 restituiscono tutte i risultati attesi:
[![Immagine](https://learn-attachment.microsoft.com/api/attachments/fa33976b-6b58-4bbc-8386-da8987490d1e?platform=QnA"https://1drv.ms/x/s!AmTW9HzZG8cqj35w6kK3cVjVpTn9?e=tDmSMb" title="https://1drv.ms/x/s!AmTW9HzZG8cqj35w6kK3cVjVpTn9?e=tDmSMb" rel="ugc nofollow">MB22_MS20211004.xlsm ****
===
Regards,
Norman