Author Topic: Come collegare 2 celle Valore - Espressione in Excel?  (Read 9024 times)

0 Members and 1 Guest are viewing this topic.

Offline Betoniera

  • Esperto del forum
  • ***
  • Posts: 217
  • Karma: 74
  • Neo - Laureato
Come collegare 2 celle Valore - Espressione in Excel?
« on: 15 May , 2012, 21:31:27 PM »
Ciao Afazio, Gilean, ciao a tutti
Mi potreste risolvere questo problemino che in Excel non sono ancora riuscito a fare?
Vorrei collegare 2 celle in excel in modo che una contenga l'espressione alfanumerica e l'altra contenga il valore sotto forma di espressione.
Esempio
"Area=1,5*12-3" (Alfanumerica) nella prima cella e
 =1,5*12-3 (numerico) nella seconda cella che evidenzierà quindi 15
Naturalmente vorrei poter cambiare l'espressione numerica e vedere aggiornata automaticamente la cella alfanumerica o viceversa.
Grazie, ciao


Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: Come collegare 2 celle Valore - Espressione in Excel?
« Reply #1 on: 15 May , 2012, 21:54:03 PM »
Vorresti, per esempio, poter scrivere la stringa "perimetro = 12 +2.35*4 +25" e da qualche parte nel foglio, excel dovrebbe estrarre la formula contenuta nella stringa e quindi calcolarne il risultato?
E poi vorresti poter cambiare la stringa in "Volume= 4*3.14*2.5^3/3" ed automaticamente nella cella collegata dovrebbe cambiare la formula con quella contenuta ed anche il risultato?

Se è cosi non penso sia possibile farlo ricorrendo alle sole funzionid i foglio di excel, specie se vuoi anche poter operare inversamente, cioè cambiare la formula contenuta nella cella incorporata ed automaticamente cambiare la stringa nella cella di origine.
Sarebbe certamente possibile utilizzando una qualche procedura che si attiva ogni volta che cambi l'una o l'altra cella.

Se non ricordo male dovrebbe esserci sul sito NewtonExcelBach qualcosa. Adeso lo cerco e ti riferisco.

Ciao
« Last Edit: 15 May , 2012, 21:56:48 PM by afazio »
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: Come collegare 2 celle Valore - Espressione in Excel?
« Reply #2 on: 15 May , 2012, 22:38:51 PM »
Trovato qualcosa sul blog NewtonExcelBach.
Trattasi di una procedura chiamata GetRef che, dopo aver selezionato una cella contenente una qualsiasi formula ed avviata la procedura, scrive nella cella accanto la stringa della formula.

Occorrerebbe studiarne il codice e vedera se è possibile adattarla al tuo scopo.

ecco il link
http://interactiveds.com.au/software/Getrefs.xls

Altro modo sarebbe quella di ricorrere ad una funzione. Ho trovato una discussione in rete in cui un utente ha suggerito di scrivere la seguente funzione:

Code: [Select]
Function GetFormula(Cell As Range) As String   
'Application.Volatile = True 
If VarType(Cell) = 8 And Not Cell.HasFormula Then
    GetFormula = "'" & Cell.Formula   
Else
    GetFormula = Cell.Formula   
End If   

If Cell.HasArray Then  GetFormula = "{" & Cell.Formula & "}"

End Function


LO stesso Doug Jenkins (titolare dle blog NewtonExcelBach) suggerisce altra procedura.

Ti do il link della discussione:
http://www.eng-tips.com/viewthread.cfm?qid=287516


Qui altri ultili collegamenti.
http://newtonexcelbach.wordpress.com/2011/04/28/showing-numerical-values-of-a-formula/


Qui ---> http://files.engineering.com/download.aspx?folder=45c43022-d74b-4ebd-9da6-58bc1f75ac4c&file=ConvertFormulaToText.xls trovi un foglio excel contenente una procedura che incorpora anche una unita di misura alla formula col risultato. partendo da questo codice si potrebbe adattarlo prevedendo oltre ad incorporare una unita di misura anche una eventuale dicitura inziiale come per esempio "Area" o "volume" o altro.
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: Come collegare 2 celle Valore - Espressione in Excel?
« Reply #3 on: 16 May , 2012, 14:33:39 PM »
Caro Betoniera,
ho provato a scrivere una funzione che estrae le operazioni eventualmente presenti in una stringa di testo e restituisce il risultato.
Per esempio, se nella cella A1 scrivi il testo:  "area = 6.14*2.15^2" la funzione =EstraiFormula(A1) ti restituisce il risultato delle operazioni contenute nella stringa, cioè 28.38215
Se invece scrivi solo del testo la funzione ti restituisce solo il testo, infine se scrivi una formula di tipo simbolica contenente cioe delle variabili, la funzione continua a restituirti il risultato delle operazioni se nel foglio hai atribuito i nomi presenti nell'espressione a delle celle.

esempio: se in A1 scrivi, la stringa: area=3.14*raggio^2 e la cella A2 (a cui hai dato il nome raggio) contiene il valore 2, la funzione ti restituisce il risultato dell'operazione 3.14*2^2 cioè 12.56.

ecco la prima stesura della mia funzione

Code: [Select]
Function EstraiFormula(Cella As Range) As Variant

Dim formula0 As String
Dim posUguale As Long
Dim lunghezza As Long

If VarType(Cella) = 8 Then
    If Not Cella.HasFormula Then
        formula0 = Cella.Value
        posUguale = InStr(formula0, "=")
        If posUguale > 0 Then
            If posUguale = Len(formula0) Then
                EstraiFormula = Cella.Text
            Else
                lunghezza = Len(formula0) - posUguale + 1
                EstraiFormula = Evaluate(Right(formula0, lunghezza))
            End If
        Else
            EstraiFormula = Cella.Text
        End If
    Else
        EstraiFormula = Cella.Text
    End If
End If

End Function


ovviamente questa è sia estendibile sia migliorabile sia cestinabile.

ciao
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline Betoniera

  • Esperto del forum
  • ***
  • Posts: 217
  • Karma: 74
  • Neo - Laureato
Re: Come collegare 2 celle Valore - Espressione in Excel?
« Reply #4 on: 17 May , 2012, 21:24:22 PM »
...
ho provato a scrivere una funzione che estrae le operazioni eventualmente presenti in una stringa di testo e restituisce il risultato
...


Grazie Afazio.
Provo a fare qualche esperimento. Come hai capito volevo evidenziare con un testo la formula introdotta in una cella.
A buon rendere.
Ciao


Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: Come collegare 2 celle Valore - Espressione in Excel?
« Reply #5 on: 17 May , 2012, 23:32:18 PM »
...
ho provato a scrivere una funzione che estrae le operazioni eventualmente presenti in una stringa di testo e restituisce il risultato
...


Grazie Afazio.
Provo a fare qualche esperimento. Come hai capito volevo evidenziare con un testo la formula introdotta in una cella.
A buon rendere.
Ciao



devi solo fare attenzione al punto decimale. Indipendentemente dalle impostazioni internazionali (che valgono solo sul foglio), il VBA quando gli si passano numeri decimali nella formula della stringa vuole trovare sempre il punto e non la virgola. Se invece la stringa contiene il nome di una variabile (e non il valore) va a prendere il valore dalla cella che lo contiene convertendo automaticamente la virgola in punto.
Si protrebbe estendere la funzione prevedendo la preventiva trasformazione delle virgole in punti.


ecco degli esempi



Uploaded with ImageShack.us

Se vuoi il file con la funzione chiedilo.

ciao
« Last Edit: 17 May , 2012, 23:50:10 PM by afazio »
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24