1
resposta

Inserção de Formulas via VBA

Olá, estou tendo problemas para inserir formulas em celulas usando o vba.

Testei o seguinte codigo:

Relatorio_OC.Range("D4").Formula = "=PROCX(A4;'Z:\Engenharia[06_20_2023_CONTROLE_ORCAMENTO_GERAL.xlsb]ANALITICO_RESUMO'!$C:$C;'Z:\Engenharia[06_20_2023_CONTROLE_ORCAMENTO_GERAL.xlsb]ANALITICO_RESUMO'!$G:$G)"

No entanto, recebo um erro de definição de aplicativo ou de objeto. Testei já outras funções como FormulaR1C1, ou mesmo FormulaLocal, e mesmo assim não funcionou. Como posso prosseguir?

1 resposta

O erro "Definição de aplicativo ou de objeto" geralmente ocorre quando o objeto ou o método em questão não está definido. Neste caso, o erro parece estar ocorrendo porque o objeto "Relatorio_OC" não está definido.

Para corrigir este erro, você precisará garantir que o objeto "Relatorio_OC" esteja definido. Isso pode ser feito adicionando o seguinte código ao início do seu script:

Dim Relatorio_OC As Worksheet
Set Relatorio_OC = ThisWorkbook.Sheets("Relatorio OC")

Depois de adicionar este código, você poderá usar o objeto "Relatorio_OC" no seu script. Por exemplo, o seguinte código inserirá a fórmula =PROCX(A4;'Z:\Engenharia[06_20_2023_CONTROLE_ORCAMENTO_GERAL.xlsb]ANALITICO_RESUMO'!$C:$C;'Z:\Engenharia[06_20_2023_CONTROLE_ORCAMENTO_GERAL.xlsb]ANALITICO_RESUMO'!$G:$G) na célula D4:

Relatorio_OC.Range("D4").Formula = "=PROCX(A4;'Z:\Engenharia[06_20_2023_CONTROLE_ORCAMENTO_GERAL.xlsb]ANALITICO_RESUMO'!$C:$C;'Z:\Engenharia[06_20_2023_CONTROLE_ORCAMENTO_GERAL.xlsb]ANALITICO_RESUMO'!$G:$G)"