Página 1 de 1

Erro 1004 ao usar variável em uma fórmula

Enviado: 09 Jul 2020 às 21:40
por JulioPrestes
Boa noite!

Estou tendo um problema quando tento usar uma variável dentro da fórmula SE através do VBA:
https://prnt.sc/tf1jfh
Código: Selecionar todos
Sub Variable_error()
    'Select worksheet
    ThisWorkbook.Activate
    Sheets(1).Select

    'Variable
    Dim err_Var As Double: err_Var = 0.8

    'Insert formula
        'Resultado esperado
        Range("C2").Activate
        ActiveCell.Formula = "=IF(0.8-RC[-1]<0,0,0.8-RC[-1])" '(Funciona)
    
        'Erro
        Range("C3").Activate
        ActiveCell.Formula = "=IF(" & err_Var & "-RC[-1]<0,0," & err_Var & "-RC[-1])" '(Não funciona)
                                '"=IF(" & err_Var & "B3<0,0," & err_Var & "-B3)"
End Sub
Já tentei várias coisas: não usar a instrução Dim para declarar a variável, mudar a propriedade .formula para .formulaR1C1, escrever a referência no formato A1 ao invés de L1C1, mas sempre dá o mesmo erro.

Alguém pode me dar uma ajuda? Coloquei a pasta de trabalho em anexo. Realmente não sei mais o que poderia fazer...

Re: Erro 1004 ao usar variável em uma fórmula

Enviado: 09 Jul 2020 às 23:13
por osvaldomp
É preciso converter a variável para String ~~~> Str(variável)
Código: Selecionar todos
Sub InsereFórmula()
 Dim r As Double
  r = 0.8
  [C2] = "=IF(" & Str(r) & "-RC[-1]<0,0," & Str(r) & "-RC[-1])"
End Sub
dica - não utilize Select e nem Activate nos seus códigos ;)

Re: Erro 1004 ao usar variável em uma fórmula

Enviado: 10 Jul 2020 às 01:18
por JulioPrestes
Muito obrigado, pela dica também, agora funcinou!