Experimente esta solução e reverta se funcionar para você. Pressione ALT + F11 para abrir o Editor VBA. Insira um módulo e cole o seguinte UDF nele.
Public Function test(r As Range, myvar As Double) As Double
Z = r.Formula
Z = Replace(Z, "myvar", myvar)
test = Evaluate(Z)
End Function
Agora, sua expressão nas células do Excel não deve conter nenhum caractere que não faça parte da fórmula, como & "etc. Deve manter uma fórmula simples com nome estático e manter o nome constante e sensível a maiúsculas e minúsculas.
por exemplo. myvar + 3 aqui myvar é apenas texto estático, não declarado em lugar algum. Use a função e passe a célula como intervalo e valor da variável como duplo para ela. Não há muitas validações em vigor, passando a matriz multidimensional pode resultar em um erro aqui. Veja a imagem abaixo. Experimente e verifique se isso atende às suas necessidades.