question

Como pode para ignorar um erro de execucao no VBA. ou forca para abrir um msgbox em vez da caixa de erro normal.?

algumas vezes eu tenho um erro quando o arquivo usado meu código é aberto por outro programa. então eu quero fechar o excel ou pop minha própria msgbox em vez do erro de tempo de execução normal que apareceu e o excution está fechado, mas o arquivo do excel não é..?
resposta Resposta
Garbo744 é exatamente certo. Você quer prender os erros como como ele mostrou para. E você pode usar o On Error Resume Next basicamente ignorar os erros. Ele basicamente impede a mensagem de erro apareça, mas às vezes isso não é a melhor coisa a fazer. Se você usar o On Error Resume Next é uma boa idéia no final de seu uso do sub:

On Error GoTo 0

Isso restaura o tratamento de erros, para que as mensagens de erro serão exibida quando eles ocorrerem.

Cada erro que ocorre é atribuído um código de erro de número. O código de erro numérico pode ajudá-lo a determinar o tipo de erro ocorreu e às vezes é uma boa idéia para colocar isso em interceptação de erro.

Normalmente, eu quero começar o tratamento no início do sub como este de erros.

Private Sub MyFileError

Dim Msg1 como String

Dim MyTitle como String

Msg1 = "o arquivo já está aberto. Você não pode abrir um arquivo que já está aberto."

MyTitle = "Erro do usuário"

No erro GoTo MyErrorHandler

«Programação principal sub vai aqui

Exit Sub

MyErrorHandler:

Se errar = 55 então

MsgBox Msg1, vbOKOnly + vbExclamation, MyTitle

End If

End Sub

No exemplo acima, quando um erro é encontrado, a macro move-se para a linha de chamada MyErrorHandler. Se não é encontrado um erro continua lendo de cima para baixo como normal. Certificar-se de que você colocar uma instrução Exit Sub antes da linha de MyErrorHandler ou a macro será executado esse código, mesmo que não tem erro.

Ou você pode configurá-lo como este:

Private Sub MyFileError

Dim Msg1 como String

Dim MyTitle como String

Msg1 = "o arquivo já está aberto. Você não pode abrir um arquivo que já está aberto."

MyTitle = "Erro do usuário"

Em erro continuar próximo

Se errar = 55 então

MsgBox Msg1, vbOKOnly + vbExclamation, MyTitle

End If

On Error GoTo 0

«Programação principal sub vai aqui

End Sub

Às vezes, você ainda pode usar erros a seu favor na programação. Por exemplo quando você procura algo em um intervalo de células se nenhum resultado for encontrado um erro vai aparecer. Então, você sabe se o erro aparece que não foram encontrados resultados e você pode exibir uma mensagem adequada para o efeito ou use-o para fins de cálculo.

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved