Quero ter duas células no Excel:
Na primeira delas (fx A1) quero ter uma equação como 2 + 2
Na segunda (fx A2) quero ter a solução = 4.
Como eu posso fazer isso?
Responder1
Primeiro insira a seguinte UDF em um módulo padrão:
Public Function eval(strng As String) As Variant
eval = Evaluate(strng)
End Function
então em A2 digite:
=avaliação(A1)
Funções definidas pelo usuário (UDFs) são muito fáceis de instalar e usar:
- ALT-F11 abre a janela VBE
- ALT-I ALT-M abre um novo módulo
- cole o material e feche a janela do VBE
Se você salvar a pasta de trabalho, a UDF será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx
Para remover a UDF:
- abra a janela VBE como acima
- limpar o código
- feche a janela do VBE
Para usar a UDF do Excel:
=minhafunção(A1)
Para saber mais sobre macros em geral, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
e
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
e
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
para detalhes sobre UDFs
As macros devem estar habilitadas para que isso funcione!
Responder2
Talvez você não consiga fazer exatamente o que deseja usando uma função de planilha, isso érespondido aquie isso por design.
Você pode conseguir isso com VBa (e sua postagem não indica usar VBa ou não, então presumo que não) ou você could
procura o antigo XLM GET.FORMULA() mas VBa é melhor (e não sei nada sobre XLM)
Você pode ser capaz de fazer algo como
=FORMULATEXT(formulaCell)
FORMULATEXT requires the morefunc.xll add-in.
No entanto, como solução alternativa e com base no exemplo exato da sua pergunta, você poderia fazer o seguinte (que funciona)
=SUM(LEFT(A1,1),RIGHT(A1,1))
Isso só funcionará quando a fórmula for N+N (onde N é 1 dígito), mas dependendo de quantas linhas de dados você possui, isso pode atender às suas necessidades!