Página 1 de 1

Function não resolve expressões com casas decimais

Enviado: 02 Jun 2016 às 18:06
por PauloMelo95
Boa noite, amigos!

Utilizei este código, que citarei abaixo, para realizar a seguinte operação: Qualquer texto inserido numa dada célula - nesse caso expressões matemáticas - seriam "resolvidos", entretanto sem a utilização do "=" para obter uma formula.

Por ex: Na célula A1 estava escrito "6*2" e na célula A2, utilizando a função feita no VBA, obteria o resultado da célula A1, ou seja, 12.
O único problema é que ele não está resolvendo operações com números decimais. Já testei com fração, sen, cos, ln e funciona normalmente.

OBS: Sou leigo em VBA :?

Segue o código:

ublic Function CalculaFormula(txt As String) As Double
CalculaFormula = IIf(txt = "", 0, Evaluate(txt))
End Function

Seria problema nas configurações do excel ou algo na programação?

Espero que tenha ficado claro,

Grato desde já!!

Re: FUNCTION NÃO RESOLVE EXPRESSÕES COM CASAS DECIMAIS

Enviado: 02 Jun 2016 às 18:47
por Kledison
Boa noite,

Paulo, fineza editar o título de seu tópico:
Regra nº 2A:
Os membros devem postar de maneira que seja consistente com a "escrita normal". Os membros não devem usar quantidades excessivas de emoticons, não devem usar CAIXA ALTA EM EXCESSO, ou usar quantidades excessivas de pontuação, seja em posts ou títulos.
Fique atento as regras do fórum.

Att
Moderador

Function não resolve expressões com casas decimais

Enviado: 03 Jun 2016 às 09:10
por Reinaldo
Sem maiores detalhes/modelo/exemplos fica um tanto quanto dificil propor uma solução.
Assim se o fator txt estiver sendo digitado na expressão, não deve ser utilizado o sistema americano para numeros, ou seja virgula e o separador de milhar e ponto o separador decimal.
Por exemplo:
=CalculaFormula("0,135-1,287") irá retornar erro de valor (#VALOR!);
já =CalculaFormula("0.135-1.287") gera o valor esperado (-1,152)