PDA

View Full Version : Excel: come fare per creare una tabella con visualizzati calcoli e risultato


uvox
19-12-2008, 21:06
E' da un pò che sto provando in tutti i modi a creare una tabella in cui in due colonne distinte vengano riportati da una parte i calcoli di operazioni normali (classiche operazioni di addizzione, moltiplicazione ecc. con utilizzo anche di parentesi) e nelle celle a fianco in automatico venga riportato il relativo risultato.

Sembra tutto molto semplice e banale, ma non ci riesco.

Se scrivo l'operazione in una cella mi compare direttamente il risultato, se invece scrivo l'operazione come testo non riesco poi a fargli calcolare il risultato a meno di non fare un copia incolla scrivendo prima il segno di = nel riquadro della formula.

Magari sono io che sto invecchiando e non ho più la mente sufficentemente elastica per inventarmi qualcosa di semplicissimo, ma se qualcuno può gentilmente aiutarmi mi fa un grosso favore. :help:

john_revelator
19-12-2008, 22:00
Puoi fare un esempio pratico di ciò che vuoi fare? Mi sfugge la difficoltà che trovi :fagiano:

uvox
19-12-2008, 23:35
Puoi fare un esempio pratico di ciò che vuoi fare? Mi sfugge la difficoltà che trovi :fagiano:

Faccio un esempio:

nella cella B1 scrivo 3+5*(12-8) e nella cella C1 voglio che in automatico mi compaia il risultato, cioè 23

john_revelator
20-12-2008, 00:35
Faccio un esempio:

nella cella B1 scrivo 3+5*(12-8) e nella cella C1 voglio che in automatico mi compaia il risultato, cioè 23

nell'editor vba incolla questo codice


Function Eval(myStr As String) As Variant
Eval = Application.Evaluate(myStr)
End Function


e salva. A questo punto in c1 scrivi

=eval(b1)

e hai risolto. :)

edit. Meglio ancora

=SE(B1<>"";eval(B1);"")

a questo punto fai un copia - incolla speciale => formule su tutta la colonna.

uvox
20-12-2008, 10:04
Grazie mille, era proprio quello che intendevo fare.

Dovrei impegnarmi e studiare l'utilizzo delle macro e di Visual Basic.

Ciao.

uvox
22-12-2008, 11:03
Le indicazioni che mi hai dato vanno benissimo, però ho notato che se inserisco valori con dei decimali devo inserirli con il punto "." e non con la virgola presente nella tastiera sotto il numero 3 ",".

Ad ogni modo grazie ancora.

john_revelator
22-12-2008, 12:41
Le indicazioni che mi hai dato vanno benissimo, però ho notato che se inserisco valori con dei decimali devo inserirli con il punto "." e non con la virgola presente nella tastiera sotto il numero 3 ",".

Ad ogni modo grazie ancora.

Applica un semplice replace. :)


Function Eval(myStr As String) As Variant
Eval = Application.Evaluate(Replace(myStr, ",", "."))
End Function

uvox
22-12-2008, 14:53
Grazie, sei mitico. :D

ciao