Notifications
Clear all

Mensagem ao final do código, não consigo tirar

6 Posts
3 Usuários
0 Reactions
1,215 Visualizações
(@pvitor)
Posts: 11
Active Member
Topic starter
 

Boa tarde galera!

Toda vez que rodo um código, a planilha faz todo o procedimento, porém retorna uma mensagem que não consigo tirar.

Abaixo o código utilizado, suprimi a parte de gerar o arquivo, que é extensa.
A mensagem que aparece é a mesma da imagem em anexo.

Alguém pode me ajudar??

' Importar dados de Pendencia
'-----------------------------------------------------

Sub Pendencia()

ThisWorkbook.Application.ScreenUpdating = False

' Limpar a tabela de Pendencias

 Sheets("Pendencia").Activate
    Cells.ClearContents

' Script para gerar o relatório no SAP

Código para gerar relatório no SAP

' Salvar os dados em um arquivo Excel

nome_arq = "Pendencia.xlsx"
windows_atual = ActiveWorkbook.Name

Código para gerar a planilha, que é salva no mesmo diretório (ThisWorkbook.Path)

' Transferir os dados do Excel para a aba de Pendencia

On Error GoTo Line1
    Windows(nome_arq).Activate
GoTo Line2

Line1:
    caminho_arq = ThisWorkbook.Path & "" & nome_arq
    Workbooks.Open (caminho_arq)

Line2:
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Windows(windows_atual).Activate
    ActiveWorkbook.Sheets("Pendencia").Activate
    Range("A1").Select
    
    ActiveSheet.Paste
    
    ThisWorkbook.Application.CutCopyMode = False

    Range("A1").Select
    Windows(nome_arq).Close

 On Error GoTo Line3
    ThisWorkbook.Application.DisplayAlerts = False
    
    ‘Kill caminho_arq

Line3:

Exit Sub

End Sub
 
Postado : 29/05/2018 2:20 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Tente inserir isso no inicio do código:

On Error Resume Next

Assim:

Sub Pendencia()
On Error Resume Next
ThisWorkbook.Application.ScreenUpdating = False

' Limpar a tabela de Pendencias

Sheets("Pendencia").Activate
Cells.ClearContents

' Script para gerar o relatório no SAP

Código para gerar relatório no SAP

' Salvar os dados em um arquivo Excel

nome_arq = "Pendencia.xlsx"
windows_atual = ActiveWorkbook.Name

Código para gerar a planilha, que é salva no mesmo diretório (ThisWorkbook.Path)

' Transferir os dados do Excel para a aba de Pendencia

On Error GoTo Line1
Windows(nome_arq).Activate
GoTo Line2

Line1:
caminho_arq = ThisWorkbook.Path & "" & nome_arq
Workbooks.Open (caminho_arq)

Line2:
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(windows_atual).Activate
ActiveWorkbook.Sheets("Pendencia").Activate
Range("A1").Select

ActiveSheet.Paste

ThisWorkbook.Application.CutCopyMode = False

Range("A1").Select
Windows(nome_arq).Close

On Error GoTo Line3
ThisWorkbook.Application.DisplayAlerts = False

Kill caminho_arq

Line3:

Exit Sub

End Sub

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 29/05/2018 2:34 pm
(@pvitor)
Posts: 11
Active Member
Topic starter
 

xlarruda, boa tarde!

Tentei fazer sua sugestão, porém ainda continua apresentando o erro.

O estranho é que quando rodo o código em depuração passo a passo (F8), o erro não acontece, mas quando executo o código ele acontece, não sei se tem algo a ver com a velocidade de execução.

 
Postado : 29/05/2018 2:45 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

pvitor,

Boa tarde!

Esse erro deve está ocorrendo porque na hora de apagar o arquivo, muito provavelmente, o caminho ou o nome do arquivo não está correto.

Você pode fazer algumas coisas para descobrir isso:
1 - Já fiz no seu código acima. Coloquei uma aspa simples no início da linha Kill caminho_arq. Isso desabilita essa linha de comando. Todavia, o arquivo deixa de ser apagado. Veja se assim à mensagem para se aparecer. Se sim é porque o problema está aí nessa linha.

2 - você pode colocar um Break point nessa linha onde está o comando Kill e executar o código com F5 até o momento que o VBA parar nessa linha de comando. Aí você passa o mouse por cima da variável caminho_arquivo e ver se o conteúdo dela está de acordo com o caminho e nome corretos onde está o arquivo.

Pedimos ainda, por gentileza, ao postar códigos VBA aqui no fórum, postar os mesmos entre as TAGs CODE existentes no início da caixa de mensagens (quinto botão da esquerda para a direita).

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 29/05/2018 2:52 pm
(@pvitor)
Posts: 11
Active Member
Topic starter
 

Wagner, boa tarde!

Tentei suas sugestões também, sem sucesso.

O que me estranha, é que quando rodo passo a passo no depurar, ele funciona perfeito... coloco pra executar o código, dá erro.... Não sei se tem algo a ver com a velocidade de execução dos passos.

Estou tentando aqui com os breaks achar algo, mas nada ainda....

Obrigado pelas dicas.

 
Postado : 29/05/2018 3:04 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Salve seu arquivo original com outro nome, deixe apenas umas 5 linhas nele e pode até descaracterizar dados confidenciais. Todavia o novo arquivo dever ter a mesma estrutura do arquivo original. Após isso, compacte o arquivo com .ZIP e anexe aqui mesmo no fórum.

Assim poderemos rodar, depurar e ver se o problema ocorre por aqui também.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 29/05/2018 3:10 pm