frata Posted January 30, 2012 Report Share Posted January 30, 2012 Estou com um pequeno problema, a minha planilha tem um tratamento de erro, conforme o código postado abaixo. Acontece que ele sempre executa o trecho de código do tratamento de erro, mesmo que não tenha erro. Será que alguém pode me ajudar..?? Obrigado e grande abraço a todos. Frata.Private Sub CommandButton2_Click()On Error GoTo saidasaida:MsgBox "Antes de excluir dados clique em LANÇAMENTOS", , "CADASTRO DE CHEQUES" Selection.Interior.ColorIndex = 6 UserForm4.Show End Sub Quote Link to comment Share on other sites More sharing options...
0 robatsilva Posted January 30, 2012 Report Share Posted January 30, 2012 O código deve ser assim:Private Sub CommandButton2_Click()On Error GoTo saidaSelection.Interior.ColorIndex = 6UserForm4.Showexit subsaida:MsgBox "Antes de excluir dados clique em LANÇAMENTOS", , "CADASTRO DE CHEQUES"End Sub Quote Link to comment Share on other sites More sharing options...
0 frata Posted January 31, 2012 Author Report Share Posted January 31, 2012 Desculpe, está realmente assim como você digitou, é que eu havia postado sem verificar. O código está exatamente assim como vccolocou, e mesmo assim está executando o trecho de código referenteao erro, mesmo quando não existe o erro.Ele faz todo o procedimento e no final abre a caixa de diálogo que seriapara ser carregada caso hovesse erro. Obrigado. Frata Quote Link to comment Share on other sites More sharing options...
0 robatsilva Posted January 31, 2012 Report Share Posted January 31, 2012 Vamos então fazer um teste, deixe a linha On Error GoTo saida como comentário (colocando aspas simples na frente).Dessa forma ele encerra o procedimento no exit sub. Caso haja um erro você poderá depurar para ver.quando você clica no botão ele abre normalmente o UserForm4? Quote Link to comment Share on other sites More sharing options...
0 frata Posted January 31, 2012 Author Report Share Posted January 31, 2012 Meu caro robatsilva, o que está acontecendo é o seguinte: Caso ocorra um erro será carregado para o usuário um Userform informando um determinado procedimento. Então o problema é que mesmo sem ocorrer um erro ele está carregando esse Userform com a informação ao usuário. Ou seja; ele executa todo o código porque não hove erro e depois executa também o tratamento de erro; mesmo sem nenhum erro. Se você quiser te envio a PLnilha para dar uma olhada. Obrigado pela gentileza e grande abraço. Frata. Quote Link to comment Share on other sites More sharing options...
0 robatsilva Posted January 31, 2012 Report Share Posted January 31, 2012 Bom no seu código, a única coisa q ele faz quando dá um erro é exibir a mensagem do msgbox.Quando não há erro algum ele executa essas três linhas:Selection.Interior.ColorIndex = 6UserForm4.Showexit subOu seja, na normalidade, as linhas acima são executadas. Caso haja erro ele executa o que está abaixo de "saida". Se você quer que o userform seja exibido quando há erro, então mude o código para:Private Sub CommandButton2_Click()On Error GoTo saidaSelection.Interior.ColorIndex = 6 'aqui será sempre executado, se houver um erro nesse código ele pula para saida.exit subsaida: 'quando há erro o programa pula para essa linhhaMsgBox "Antes de excluir dados clique em LANÇAMENTOS", , "CADASTRO DE CHEQUES"UserForm4.Show 'esse userform só será exibido se houver erro.End SubMas de qualquer forma, mande a planilha para analisar. Quote Link to comment Share on other sites More sharing options...
0 frata Posted February 2, 2012 Author Report Share Posted February 2, 2012 Funcionou PERFEITAMENTE.....muito obrigado!!!! Devo meu aprimoramento em VBA aos colegas deste Forum. É muito bom poder contar com pessoas competentes como você. Valeu mesmo...!!!!! Grande abraço. Frata Quote Link to comment Share on other sites More sharing options...
Question
frata
Estou com um pequeno problema, a minha planilha tem um tratamento de erro, conforme o código postado
abaixo. Acontece que ele sempre executa o trecho de código do tratamento de erro, mesmo que não tenha
erro. Será que alguém pode me ajudar..??
Obrigado e grande abraço a todos. Frata.
Private Sub CommandButton2_Click()
On Error GoTo saida
saida:
MsgBox "Antes de excluir dados clique em LANÇAMENTOS", , "CADASTRO DE CHEQUES"
Selection.Interior.ColorIndex = 6
UserForm4.Show
End Sub
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.