Notifications
Clear all

Erro em tempo de execução

7 Posts
2 Usuários
0 Reactions
2,168 Visualizações
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Amigos,
Estou melhorando meu conhecimento e até já consigo fazer algumas coisas sozinho. Mas eu ainda não tenho o conhecimento exato de como funciona o sistema e nem o conhecimento de todos os comandos que posso colocar em um projeto, então sempre fica faltando(ou sobrando) alguma coisa. Eu arrumo uma coisa e estrago outra. Mas tá ficando legal. Eu já andei olhando aqui no fórum e no Google. Até entendo o que deve ser o meu problema mas eu realmente não consigo resolver. Peço ajuda nisso novamente. No meu projeto eu tenho uma condição de incluir um lote de talões de cheque e o outro de incluir/alterar as folhas avulsas. Com a ajuda de vocês isso está funcionando. Acontece que o frmCadastro_cheque, embora não esteja acabado, funciona perfeitamente. Todas as etapas. Incluir, alterar e excluir. Mas o frmTalonario, que está igual, embora tenha campos diferentes, não funciona para EXCLUIR E ALTERAR. Quando eu clico em OK recebo mensagem de erro em tempo de execução 1004 e 13. Pelo que entendi, meu código está parado em algum lugar, por isso não acha worksheet e diz que é tipo incompatível. Mas eu não vejo como solucionar isso. Eu criei uma rotina para exit na txtInicial e na txtFinal. Já fiz alguns testes e nada mudou mas eu entendo que é isso que está dando errado, já que no frmCadastro_cheque não tem isso.
Peço mais uma vez a ajuda dos amigos.
Muito obrigado.
Edmilson

 
Postado : 17/07/2013 4:40 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Você deve atentar as declarações / definições e nomes utilizados.
Verifique na sua rotina btnOk_Click() .
E declarada a variavel Corr as Single (com 2 erres)
Logo abaixo (com 3 erres)--> Corrr = txseq (esse campo não existe no formulário) --> quando o correto seria Corr = txtSeq

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/07/2013 5:16 pm
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Olá Reinaldo,

Realmente não prestei atenção. Mas não mudou nada. Quando comecei a fazer (e como ainda não entendo muito bem não sei dizer o porque) dizia que eu tinha declarado duas vezes no mesmo tópico a variável corr. Sem quere eu deixei uma como corrr e passou. Isso em ALTERAR E EXCLUIR. Mas agora não dá certo mais. Eu já corrigi o código mas não adiantou. Obrigado.

 
Postado : 17/07/2013 5:33 pm
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Agora vi melhor o que escreveu. Corrigi e a declaração de EXCLUSÃO está funcionando. Mas a ALTERAÇÃO aparece como declaração em duplicidade de corr. Vou dar uma pesquisada nisso. Já tentei algumas coisas que não deu certo. Se puder me ajudar novamente, agradeço muito.

Obrigado.

Edmilson

 
Postado : 17/07/2013 6:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Ed, já que está aprendendo, uma dica importante, é ativar na janela do VBA no menu - Ferramentas / Opções : "Requerer Declaração de Variáveis", assim toda vez que inserir um Modulo aparecerá no escopo da janela a declaração "Option Explicit", isto forçara a declaração de todas as variáveis, evitando erros e esquecimento.

Voltando ao seu projeto, alem da correção que o Reinaldo passou, temos na mesma rotina do:
Private Sub btnOk_Click()

corr = txSeq e o correto sereia :
corr = txtSeq

e depois da condição :
If lCoringa = "incluir" Then
msg = MsgBox("Confirma a Inclusão do Lote?", vbOKCancel, "CONFIRMAÇÃO")
If msg = 1 Then
a = Application.WorksheetFunction.CountA(Plan3.Columns(1)) + 1
Plan3.Cells(a, 1) = txtSeq.Text
Plan3.Cells(a, 2) = txtInicial.Text
Plan3.Cells(a, 3) = txtFinal.Text
cadastrar_avulso
MsgBox "Inclusão Efetuada", vbInformation, "CADASTRAMENTO"
btnCancelar_Click
Else
btnCancelar_Click
End If
Else

'btnCancelar_Click
End If

Desabilite a linha em negrito, ela está limpando os campos do formulário antes de terminar de executar a alteração.

Faça as correções e testes e veja se funciona corretamente.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/07/2013 7:36 pm
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Obrigado pela orientação Mauro, já fiz a alteração que falou. Fiz o teste separadamente e funcionada o código. Mas isso tirando os códigos para EXCLUIR para funcionar ALTERAR. Tirando ALTERAR para funcionar EXCLUIR. Os dois códigos juntos aparece um erro de compilação: Declaração duplicada no escopo atual. Aponta para corr as single. Já tentei mudar e fazer uma nova variável mas entendo que é o método a ser mantido. Imaginei em criar uma função mas como o restante do código é diferente, fiquei na dúvida se é possível e viável fazer isso.

Obrigado pela ajuda Mauro.

Aguardo novas orientações.

Edmilson

 
Postado : 17/07/2013 8:27 pm
(@edcurita)
Posts: 67
Trusted Member
Topic starter
 

Fui escrevendo e fui pensando. Fiz uma função separada e deu certo. Muito obrigado a todos pela ajuda. Tenho certeza que não será minha última visita. Vocês são craques e muito dispostos a ajudar.

Valeu Mauro e Reinaldo.

Grande abraço.

 
Postado : 17/07/2013 8:37 pm