| | Post: 42 | Registrato il: 16/12/2004
| Utente Junior | Excel 2007 | | OFFLINE | |
|
05/10/2017 10:15 | |
Ciao,
sto cercando di utilizzare in VBA una formula scritta in formato Testo.
L'intenzione è quella di avere una pagina di riepilogo con le formule che utilizzo per poi applicarle tramite VBA alle celle/range che poi mi servirebbero.
Utilizzavo per scopi simili il comando Evaluate ma mi sfugge qualcosa.
Vi allego un file di esempio (provo in formato zip e 7zip..).
Potete darmi una mano?
Grazie
Mattia
Excel 2010/2013 |
|
| | Post: 429 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
05/10/2017 17:15 | |
Ciao Mattia
Nella tua macro metti solo questo codice (cancella tutto il resto)
Sub prova()
Range("F8") = Application.WorksheetFunction.CountIf(Range("D5:D9"), "Prova")
End Sub
Ovviamente dovrai associare la macro ad un pulsante.
Ciao,
Mario |
| | Post: 42 | Registrato il: 16/12/2004
| Utente Junior | Excel 2007 | | OFFLINE | |
|
05/10/2017 19:14 | |
Grazie Marius ma a me serve proprio che legga la formula da una cella in formato testo per poi riprodurla sulle celle che mi serviranno.
La tua soluzione la conosco ma non serve al mio scopo.
Grazie comunque. |
| | Post: 553 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
05/10/2017 22:52 | |
Nella cella F5, sempre in formato testo, scrivi (con o senza l' = davanti):
COUNTIF(D5:D9,"Prova")
Il dettaglio che ti sfugge è che nel VBA si scrive nella lingua nativa.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 43 | Registrato il: 16/12/2004
| Utente Junior | Excel 2007 | | OFFLINE | |
|
06/10/2017 14:23 | |
Ciao Rollis,
grazie per il suggerimento ma avevo già provato questa soluzione.
Utilizzando VBA da tempo so che bisogna scrivere le forumule in formato inglese ma la macro rilascia sempre errore #Valore.
Ho trovato una soluzione che prevede:
codice
formula = Range("F5").Value 'formula in formato testo
Range("F8").FormulaLocal = formula
e dopo modifico la formula in un valore.
E' un po' complicata, vorrei restare sull'utilizzo di Evaluate per elaborare al meglio il codice VBA.
Grazie comunque.
Mattia
Excel 2010/2013 |
| | Post: 554 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
06/10/2017 23:06 | |
mattyla, 06/10/2017 14.23:
[...]Utilizzando VBA da tempo so che bisogna scrivere le forumule in formato inglese ma la macro rilascia sempre errore #Valore.[...]
Sono abituato a testare quanto scrivo e se raramente scrivo a vanvera è per distrazione. Quando si dice in "lingua nativa" si intende anche la "punteggiatura nativa". Fai copie/incolla di quanto ti ho indicato nel mio precedente post e vedrai che la risposta in cella F8 sarà 5 e non #Valore.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
|
|