none
Introduzir formula em celula RRS feed

  • Pergunta

  • Boa tarde,

    Queria introduzir a formula "=IF(C6="N1";8,85;IF(C6="N2";8,85;IF(C6="R1";6,38;IF(C6="R2";6,38;IF(C6="Tefsa";11,25;"")))))" na celula D6 como poderei fazer isso?

    Tenho o seguinte código:

     

    Range("D6").Select
        Selection.Copy
        Range("f12").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        With Selection.Font
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
        End With

    Obrigado

    Cumprimentos

    José


    Jose

    sexta-feira, 14 de maio de 2021 17:13

Todas as Respostas

  • Para inserir as aspas duplas em torno de um parâmetro da fórmula, tem que envolvê-las em outro par de aspas duplas, senão acusa erro de sintaxe.

    Além disso, se for realmente necessário entrar a fórmula em inglês, tem que substituir não só o nome das funções pelas desse idioma mas também as vírgulas decimais por pontos, os pontos e vírgulas de separação de parâmetros das fórmulas por vírgulas, dentre outros. Nesse caso sua expressão no VBA poderia ficar assim:

      Range("D6").Formula = "=IF(C6=""N1"",8.85,IF(C6=""N2"",8.85,IF(C6=""R1"",6.38,IF(C6=""R2"",6.38,IF(C6=""Tefsa"",11.25,"""")))))"
    

    Entretanto, vc poderia entrar com a fórmula no idioma local mesmo, o que pode simplificar bastante por evitar tais problemas. Ficaria assim:

      Range("D6").FormulaLocal = "=SE(C6=""N1"";8,85;SE(C6=""N2"";8,85;SE(C6=""R1"";6,38;SE(C6=""R2"";6,38;SE(C6=""Tefsa"";11,25;"""")))))"
    

    sábado, 15 de maio de 2021 04:43
  • Boa tarde,

    Introduzi o código que me disse no código que tinha mas não surgiu nenhum efeito.

    DEvo alterar alguma coisa?

    Obrigado

    Range("D6").Formula="IF(C6=""N1"",8.5,IF..........)
        Selection.Copy
        Range("f12").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        With Selection.Font
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
        End With



    Jose

    domingo, 16 de maio de 2021 11:26
  • Jose, o código que vc tem faz outras coisas que não somente inserir a fórmula na D6.

    Para somente inserir a fórmula na D6 da planilha ativa basta simplesmente o seguinte:


    Sub InsereFórmula()

    Range("D6").Formula = "=IF(C6=""N1"",8.85,IF(C6=""N2"",8.85,IF(C6=""R1"",6.38,IF(C6=""R2"",6.38,IF(C6=""Tefsa"",11.25,"""")))))"

    End Sub

    Se não for isso que vc precisa, explique o cenário todo de seu problema.

    segunda-feira, 17 de maio de 2021 14:33