O problema principal é como acessar a string de fórmula de outra célula da planilha. Não há nenhuma função de planilha existente que possa fazer isso. Assim, você terá que fazer uma das duas coisas para começar: 1) use localizar e substituir para alterar o conteúdo das células para que elas não tenham mais fórmulas, mas mantenha sequências de caracteres, ou 2) use o VBA para acesse a string de fórmula das células.
(1) pode ser feito selecionando as células que você quer manipular e então pressionando Ctrl + H para abrir a caixa de diálogo Substituir. Pesquise por =
(assumindo que as únicas fórmulas em que você está interessado são como seu exemplo e não inclua sinais de igual subseqüentes) e substitua por nada. Isso mudará uma célula com a fórmula =8+9-5
mostrando o valor 12 para uma célula mostrando a string 8+9-5
.
(2) pode ser realizado acessando a propriedade da célula .Formula
. Por exemplo, para obter a fórmula da célula A1, você usaria uma UDF simples como esta:
Public Function GetFormula(r as Range) as String
GetFormula = r.Formula
End Function
Depois de ter essas sequências, por qualquer método, você terá que ficar esperto com as funções de manipulação de string, por exemplo, FIND
, LEN
e VALUE
, para extrair os valores desejados. Como isso seria um desperdício do seu tempo e meu, vou me abster de fazer isso aqui.