Erro VBA do Excel 1004

O erro VBA 1004 é um erro que encontramos ao executar um código no VBA, também conhecido como erro de tempo de execução do VBA. Enquanto trabalhamos no VBA ou em qualquer outra linguagem de programação ou mesmo em nosso trabalho diário, encontramos diferentes tipos de erros. Às vezes, até sentimos falta de um único caractere no código que faz com que o código inteiro não funcione ou talvez o código inteiro esteja errado.

Definitivamente, os erros fazem parte do código que escrevemos. Pode não ser intencional, mas eles existem. Não importa o quão profissional somos na codificação, erros de tempo de execução podem ocorrer em qualquer lugar. Conforme explicado acima, o erro VBA 1004 é um erro que ocorre durante o tempo de execução do código no excel. Também é chamado de erro definido pelo aplicativo ou definido pelo objeto.

Existem diferentes tipos de razões pelas quais obtemos o VBA Runtime Error 1004 no Excel, vamos aprender algumas delas.

  • Erro de tempo de execução do VBA 1004: Falha no método 'Range' do objeto '_ Global':

Este erro ocorre quando o valor do intervalo que chamamos de VBA está incorreto. Também é chamado como o método "Intervalo" do objeto '_ Global' falhou.

  • Erro de tempo de execução do VBA 1004: esse nome já está sendo usado. Tente um diferente:

Atribuímos o mesmo nome a uma planilha que já foi usada por outra planilha.

  • Erro de tempo de execução do VBA 1004: Não é possível obter a propriedade select da classe Range:

Este é um erro quando selecionamos um intervalo em outra planilha sem ativar a planilha à qual estamos nos referindo.

  • Erro de tempo de execução do VBA 1004: Falha no método 'Abrir' do objeto 'Pastas de trabalho':

Este erro ocorre quando tentamos abrir uma pasta de trabalho que já está aberta ou o arquivo já é usado por outro programa.

  • Erro de tempo de execução do VBA 1004: Desculpe, não conseguimos encontrar:

Recebemos esse erro quando tentamos abrir uma planilha que não existe.

Como aprendemos, pode haver várias razões para obtermos um erro de tempo de execução. Erro de tempo de execução pode ocorrer em qualquer linha de código. Precisamos aprender a lidar com esses erros e isso é chamado de Tratamento de erros do VBA.

Exemplo de erro de tempo de execução do VBA 1004 no Excel

Agora, como descrevi diferentes tipos de erros que podem ocorrer durante o tempo de execução de qualquer código VBA, vamos aprender como eles aparecem com exemplos.

Você pode baixar este modelo de Excel de erro do VBA 1004 aqui - Modelo de Excel de erro do VBA 1004

Erro de tempo de execução do VBA 1004 - Exemplo # 1

Conforme explicado sobre esse erro, esse erro ocorre quando nos referimos a um valor incorreto de intervalo nomeado no VBA. Isso pode acontecer se cometermos um erro de ortografia no intervalo nomeado de para referir um intervalo que nem existe. Para demonstrar isso, primeiro vamos fazer um intervalo nomeado. Eu tenho os seguintes dados aqui.

  • Vamos nomear esse cabeçalho da tabela como DATA .

  • Vá para a guia Desenvolvedor, clique em Visual Basic para abrir o VB Editor.

  • Declare a subfunção para começar a escrever o código.

Código:

 Subamostra () End Sub 

  • Chame o cabeçalho que chamamos pelo seguinte código, escrito abaixo.

Código:

 Subamostra () Intervalo ("Dados"). Selecione End Sub 

  • Quando executamos o código, podemos ver no excel que ele foi selecionado como chamamos o cabeçalho corretamente.

  • Agora, escrevemos incorretamente a ortografia para o nome do cabeçalho.

Código:

 Subamostra () Intervalo ("Dataa"). Selecione End Sub 

  • Execute o código novamente para ver o resultado.

Ficamos com o erro de tempo de execução 1004 do VBA do Excel porque escrevemos incorretamente o nome do intervalo.

Erro de tempo de execução do VBA 1004 - Exemplo # 2

Recebemos esse erro quando tentamos renomear uma planilha com um nome que já está sendo usado. Por exemplo, renomeei a folha 1 como " Anand " e tentarei renomear a folha 2 como sendo a mesma e depois ver o resultado.

  • Vá para a guia Desenvolvedor, clique em Visual Basic para abrir o VB Editor.
  • Declare uma subfunção para começar a escrever o código.

Código:

 Sub Amostra1 () End Sub 

  • Tente renomear a planilha 2 como Anand pelo seguinte código abaixo,

Código:

 Sub Amostra1 () Planilhas ("Planilha2"). Nome = "Anand" End Sub 

  • Execute o código acima e veja o resultado.

Quando tento renomear uma planilha com o nome já usado, recebo um erro.

Erro de tempo de execução do VBA 1004 - Exemplo # 3

Vou tentar adicionar o valor da planilha 2 a uma variável na planilha 3. Mas não ativarei a planilha 2 e verei o que acontece.

  • Vá para a guia Desenvolvedor, clique em Visual Basic para abrir o VB Editor.
  • Declare uma subfunção para começar a escrever o código.

Código:

 Sub Amostra2 () End Sub 

  • Declare duas variáveis ​​A e B como um número inteiro.

Código:

 Sub Amostra2 () Dim A Como Inteiro Dim B Como Inteiro Final Sub 

  • Na variável B, armazene o valor de A, além da célula A1 da planilha 2.

Código:

 Sub Amostra2 () Dim A Como Inteiro Dim B Como Inteiro B = A + Planilhas ("Plan2"). Intervalo ("A1"). Selecione End Sub 

  • Suponhamos que o código funcione e use a função msgbox para exibir o valor de B.

Código:

 Sub Amostra2 () Dim A Como Inteiro Dim B Como Inteiro B = A + Planilhas ("Plan2"). Intervalo ("A1"). Selecione MsgBox B End Sub 

  • Execute o código para ver o resultado obtido.

Recebemos esse erro porque não ativamos a planilha 2, mas estamos tentando usar o valor da planilha 2.

Erro de tempo de execução do VBA 1004 - Exemplo # 4

Encontramos esse erro de tempo de execução quando já temos o mesmo nome da pasta de trabalho aberta, mas tentamos abri-la novamente.

Para este exemplo, eu já renomeei minha pasta de trabalho como VBA 1004 Error.xlsm e tentarei abri-la novamente, que já está aberta, e ver se recebo o erro VBA 1004.

  • Vá para a guia Desenvolvedor, clique em Visual Basic para abrir o VB Editor.
  • Declare uma subfunção para começar a escrever o código.

Código:

 Sub Amostra3 () End Sub 

  • Declare uma variável como a pasta de trabalho.

Código:

 Sub Sample3 () Dim A como pasta de trabalho End Sub 

Tente abrir a pasta de trabalho que já abrimos no momento com o código a seguir.

Código:

 Sub Sample3 () Dim A como pasta de trabalho Definir wb = Workbooks.Open ("\\ VBA 1004 Error.xlsm", ReadOnly: = True, CorruptLoad: = xlExtractData) End Sub 

Execute o código acima para ver o resultado.

Recebemos esse erro porque já abrimos a mesma pasta de trabalho.

Erro de tempo de execução do VBA 1004 - Exemplo # 5

Recebemos esse erro quando tentamos abrir uma pasta de trabalho que não existe. Isso é um pouco semelhante ao erro acima, pois o VBA não consegue encontrar a pasta de trabalho.

  • Vá para a guia Desenvolvedor, clique em Visual Basic para abrir o VB Editor.
  • Declare uma subfunção para começar a escrever o código.

Código:

 Sub Amostra4 () End Sub 

  • Tente abrir qualquer pasta de trabalho com o seguinte código,

Código:

 Sub Sample4 () Workbooks.Open Nome do arquivo: = "C: \ Conteúdo EDUCBA \ April \ VBA OU Function.xlsm" End Sub 

  • Eu já excluí a planilha do local.
  • Execute o código para ver o resultado.

Como a planilha não existe no local especificado, obtemos esse erro.

Coisas para lembrar

  • Sempre verifique se há erros de ortografia.
  • Não renomeie várias planilhas com o mesmo nome.
  • Antes de ligar para qualquer outra referência, certifique-se de ativar a respectiva planilha.
  • Antes de tentar abrir qualquer outra planilha, verifique se o caminho fornecido está correto.

Artigos recomendados

Este foi um guia para o erro VBA 1004. Aqui discutimos o erro de tempo de execução do Excel VBA 1004, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Adicionar ou remover barra de erros no Excel
  2. VBA While Loop | MS Excel
  3. Noções básicas sobre erros no Excel
  4. Usando IFError no VBA

Categoria: