Há duas partes para a resposta a essa pergunta ...
- Criando uma string apropriada para avaliar, respondeu aqui
- Avaliando essa sequência como se fosse uma fórmula real, respondido aqui
Um exemplo de construção da string correta, para o problema que você expôs: Na célula A4, coloque a seguinte fórmula ...
=A1&A3&A2
Se você colocar 10 em A1, 11 em A2 e * em A3, isso será avaliado como 10*11
Formas mais complexas de construir a string podem exigir o uso das funções ADDRESS
e / ou INDIRECT
.
Versões mais antigas do Excel continham uma UDF para Evaluate, que não existe em versões mais recentes. Você precisaria criar sua própria UDF como ...
Function myEval(r As Variant) As Variant
If TypeName(r) = "Range" Then
myEval = Evaluate(r.Value)
Else
myEval = Evaluate(r)
End If
End Function
Seguindo o exemplo, na célula A5, você pode colocar ...
=myEval(A4)
que avaliaria para 110
. Ou você pode substituir o conteúdo da Cell A4 por ...
=myEval(A1&A3&A2)
qual seria então avaliado como 110
.