Condividi tramite

Excel funzione evaluate

Anonimo
2020-01-02T16:02:27+00:00

Con questa riga di codice inserisco nella cella (3,7) un valore che estraggo da una ricerca attraverso il CERCA.VERT:

Cells(3, 7) = "=VLOOKUP(" & Y & ",R7C17:R96C33," & Z & ")"

La casella Cells(3,7) mi riporta il valore corrispondente ma, per evitare di scrivere ulteriore codice, avrei bisogno di usare qualcosa tipo "value" o "evaluate" che dal VLOOKUP mi metta nella cella solo il valore e non anche la formula.

Grazie e Buon Anno a tutti.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2020-01-02T23:17:53+00:00

Ciao Luigi,

Con questa riga di codice inserisco nella cella (3,7) un valore che estraggo da una ricerca attraverso il CERCA.VERT:

Cells(3, 7) = "=VLOOKUP(" & Y & ",R7C17:R96C33," & Z & ")"

La casella Cells(3,7) mi riporta il valore corrispondente ma, per evitare di scrivere ulteriore codice, avrei bisogno di usare qualcosa tipo "value" o "evaluate" che dal VLOOKUP mi metta nella cella solo il valore e non anche la formula. 

Io non capisco la tua formula o quello che deve fare ma, in genere, per restituire il valore di una formula anziche' la formula stessa, prova qualcosa del genere:

     ActiveSheet.Cells(3, 7).Value = Evaluate("tua formula nella forma inglese")

Oppure, per evitare l'uso del metodo Evaluate, prova qualcosa del genere:

'=========>>

Public Sub Tester()

    With ActiveSheet.Cells(3, 7)

        .Formula = "=tua formula nella forma inglese"

        .Value = .Value

    End With

End Sub

'<<=========

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2020-01-03T14:17:49+00:00

    Ciao Norman,

    quello che volevo è inserire in una cella il risultato di una formula direttamente come numero. Pensavo di poterlo fare con una sola riga di codice ma, alla fine, ho dovuto scriverne due: 

        Cells(R, C) = "=VLOOKUP(" & Y & ",R7C17:R96C33," & Z & ")"

        Cells(R, C) = Cells(R, C).Value

    Ho provato con evaluate ma non funziona. Mentre:

        With ActiveSheet.Cells(R, C)

        .Formula = "=VLOOKUP(" & Y & ",R7C17:R96C33," & Z & ")"

        .Value = .Value

        End With

    funziona perfettamente, ma sono 2 righe in più.

    Grazie Norman ed ancora Buon 2020.

    La risposta è stata utile?

    0 commenti Nessun commento