Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Tratamento de erros no Excel 2013 VBA

Perguntas e Repostas sobre os artigos, posts e arquivos que são postados no site
Avatar do usuário
TARSA
Colaborador
Colaborador
Mensagens: 36
Registrado em: Dom Set 11, 2016 5:04 pm

Tratamento de erros no Excel 2013 VBA

Mensagem por TARSA »

Boa tarde pessoal,

Sempre utilizei nas rotinas VBA códigos de tratamento para possíveis erros por motivos óbvios,
porém de uma hora para outra eles pararam de funcionar, isto mesmo qualquer um (On Error GoTo,
On Error Resume Next...etc).
Peço a ajuda de vocês, pois até já desinstalei e instalei o Excel, acrescentei referências.
Realmente fiquei sem norte, pois não encontrei nada na net que explicasse o fato, pois algumas vezes
retorna erro 53, outra 1004.

Qualquer ajuda é bem vinda. Obrigado


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Tratamento de erros no Excel 2013 VBA

Mensagem por srobles »

TARSA,

Normalmente os erros 53 e 1004, são respectivamente, caminho / diretório para arquivos ausentes ou errados e planilhas (abas) ou proteção de arquivos e planilhas.

Creio que em algum momento, os arquivos com os quais você costuma trabalhar tenham sido movidos ou seus locais tenham seus caminhos alterados.

Se puder, disponibilize um modelo onde os erros são apresentados.

Abs


Avatar do usuário
TARSA
Colaborador
Colaborador
Mensagens: 36
Registrado em: Dom Set 11, 2016 5:04 pm

Re: Tratamento de erros no Excel 2013 VBA

Mensagem por TARSA »

Legal srobles, obrigado pela ajuda.
Esse é justamente o meu problema, ou seja, sei que em determinado momento ao usar
Application.GetOpenFilename(filefilter:="Picture Files,*jpg") e o usuário optar pelo "cancelar"
dará erro 53, senão funciona muito bem.
Dessa forma tentei utilizar todos os tratamentos de erros VBA no caso do usuário abortar o carregamento
da imagem.
O que acha?


Avatar do usuário
TARSA
Colaborador
Colaborador
Mensagens: 36
Registrado em: Dom Set 11, 2016 5:04 pm

Re: Tratamento de erros no Excel 2013 VBA

Mensagem por TARSA »

Private Sub btn_import_Click()

Dim local_imagem As String
Dim cod As Integer
Dim nome As String
Dim LINHA As Integer
Dim aviso


nome = cmb_eq_cad2

LINHA = 2

If cmb_eq_cad2 = "" Then
MsgBox ("SELECIONE UM EQUINO PARA IMPORTAR A IMAGEM"), vbInformation, "AVISO"
Exit Sub

Else

cod = LINHA - 1

End If

Sheets("BD_EQUINO").Select

local_imagem = Application.GetOpenFilename(filefilter:="Picture Files,*jpg") 'tirei do código *.ico;*.bmp;

Do Until Sheets("BD_EQUINO").Cells(LINHA, 1) = ""

If Sheets("BD_EQUINO").Cells(LINHA, 9) = nome Then
Sheets("BD_EQUINO").Cells(LINHA, 1).Select
ActiveCell.Offset(0, 21).Select

On Error Resume Next
Application.DisplayAlerts = False

If local_imagem <> "" Then
LoadPicture (local_imagem) <------- CASO O USUÁRIO TECLE CANCELAR O ERRO SERÁ AQUI
ActiveCell = local_imagem
MsgBox "AGORA A IMAGEM DO EQUINO FOI INDEXADA AO SEU BANCO DE DADOS, CLIQUE NO BOTÃO LIMPAR E ESCOLHA O NOME DO EQUINO NOVAMENTE.", vbInformation, "TAREFA REALIZADA"
Exit Sub
End If

Else

End If
LINHA = LINHA + 1
Loop

End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
TARSA
Colaborador
Colaborador
Mensagens: 36
Registrado em: Dom Set 11, 2016 5:04 pm

Re: Tratamento de erros no Excel 2013 VBA

Mensagem por TARSA »

Talvez visualizando o código fique mais fácil de enxergar minha dificuldade.

De qualquer maneira nenhum tratamento de erro está funcionando mais em
minha máquina, mas depois vejo isso.


Avatar do usuário
TARSA
Colaborador
Colaborador
Mensagens: 36
Registrado em: Dom Set 11, 2016 5:04 pm

Re: Tratamento de erros no Excel 2013 VBA

Mensagem por TARSA »

Caros,

Consegui acertar o código finalmente.

Substitui "Dim local_imagem As String" por "Dim local_imagem as Variant" e na linha

If local_imagem <> "" Then, substitui por If local_imagem <> False Then

Agora está funcionando perfeitamente.

Mas continua a questão de nenhum tratamento de erro funcionar diretamente no meu VBA.

Abs.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Tratamento de erros no Excel 2013 VBA

Mensagem por srobles »

TARSA,

Acredite se quiser, mas acabei de utilizar desta abordagem no código e funcionou também.

O único porém é que se ocorrerem erros, consigo tratá-los normalmente.

Fica a questão do porquê isso ocorre contigo.

Vamos que vamos até encontrar a causa.

Abs


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder