Bom dia, Salezzi
Não entrando no mérito do seu código mas respondendo especificamente ao que vc perguntou que pelo que entendi é: "como desviar para um segundo tratamento de erros quando um erro em tempo de execução ocorre no próprio tratamento de erros?"
Já adianto que essa é uma abordagem bastante incomum, mas vamos lá.
Vc fez uma tentativa usando Err.Clear para isso, mas o método Clear não faz nada além de zerar o número do erro e a string da mensagem do erro. No lugar disso, use:
'blábláblá
'...
Data2:
On Error Goto -1
'blábláblá... parcela do tratamento do primeiro erro aqui, mas que não gera um segundo erro
'...
On Error Goto Data3
'blábláblá... restante do tratamento do primeiro erro aqui, mas que pode gerar um segundo erro
'blábláblá...
Exit Sub
Data3:
'Tratamento do segundo erro aqui
'...
End Sub
Postado : 27/08/2018 6:43 am