Recuperando fórmulas na função de concatenação do Excel

Recuperando fórmulas na função de concatenação do Excel

Quero analisar uma instrução concatenada do Excel para encontrar o resultado da expressão incluída. Ex: =CONCAT("=1-2-3+7*8")deve retornar 52, e =CONCAT("=AVERAGE(A1,A2)")deve retornar a média dos dois campos. Existe alguma função ou outra maneira de fazer isso no Excel?

Responder1

Experimente a seguinte função definida pelo usuário:

Public Function raghav(rng As Range) As Variant
    Dim s As String

    s = Mid(rng(1).Formula, 2)
    arr = Split(s, Chr(34))
    For Each a In arr
        If Left(a, 1) = "=" Then
            raghav = Evaluate(a)
            Exit Function
        End If
    Next a
End Function

insira a descrição da imagem aqui

Funções definidas pelo usuário (UDFs) são muito fáceis deinstalarE use:

  1. ALT-F11 abre a janela VBE
  2. ALT-I ALT-M abre um novo módulo
  3. 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

Pararemovera UDF:

  1. abra a janela VBE como acima
  2. limpar o código
  3. feche a janela do VBE

Parausara UDF do Excel:

=raghav(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 para obter detalhes sobre UDFs, consulte:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

As macros devem estar habilitadas para que isso funcione!

informação relacionada