excel não fecha apó...
 
Notifications
Clear all

excel não fecha após Unload do UserForm

13 Posts
3 Usuários
0 Reactions
2,325 Visualizações
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Olá. Estou começando a usar o UserForm agora e ainda não estou habituado a alguns detalhes.
Gostaria muito da ajuda de vocês.
Eu tenho a seguinte userform:

Private Sub CommandButton3_Click()
    Plan1.Select
    Unload UserForm2
End Sub

Private Sub CommandButton2_Click()
    Application.ScreenUpdating = False
    If TextBox1.Text = Plan20.Range("C12") And TextBox2.Text = Plan20.Range("C13") Then
        Plan20.Range("c15") = "sócio entrou"
        MsgBox "login realizado com sucesso", vbExclamation, "seja bem vindo!"
        Unload UserForm2
    Else
        MsgBox "senha incorreta", vbInformation, "login"
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox1.SetFocus
    End If
    Application.ScreenUpdating = True
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
        Cancel = True
    End If
End Sub

Com o terceiro código, (UserForm_QueryClose) eu consegui fazer com que a userform não fosse fechada. Mas quando eu clico no CommandButton3 ele me leva para a plan1, pois ele se chama "cancelar". Só que o excel não fecha mais, pois eu clico no X lá em cima e parece que ele generalizou a proteção contra sair no X. O que eu preciso fazer?

Valeu!

 
Postado : 09/02/2015 2:58 pm
(@aprendiz)
Posts: 80
Trusted Member
 

posta o modelo em questão

 
Postado : 10/02/2015 7:28 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Sem o modelo, tente assim:

Private Sub CommandButton3_Click()
Application.enableevents = false
Plan1.Select
Unload UserForm2
Application.enableevents = true
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 10/02/2015 7:35 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Oi. Vou postar o modelo, pois não funcionou tua sugestão, Gilmar.

Mas postarei o código aqui, caso ajude em alguma coisa.

Private Sub CommandButton3_Click()
Plan1.Select
Unload UserForm2
End Sub
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
If TextBox1.Text = "login" And TextBox2.Text = "senha" Then
Plan20.Range("c15") = "sócio entrou"
MsgBox "Oi " & Plan20.Range("C11") & " " & Plan20.Range("C12") & ". Seu login foi realizado com sucesso.", vbExclamation, "seja bem vindo!"
Unload UserForm2
Else
MsgBox "senha incorreta", vbInformation, "login"
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End If
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
End If
End Sub

Valeu!!

 
Postado : 10/02/2015 7:48 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Eu testei a tua planilha, sem mexer nada, e não tive o problema que vc relatou (Excel 2013).

Entretanto, fiz uma alteração nos códigos do Userform, veja se ajuda:

Private Eventos As Boolean

Private Sub CommandButton3_Click()
Eventos = False
'Plan1.Select 'não estava funcionando como "Plan1", por isso comentei, na tua planilha deve funcionar normalmente
Unload UserForm2
End Sub
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
If TextBox1.Text = "login" And TextBox2.Text = "senha" Then
Plan20.Range("c15") = "sócio entrou"
MsgBox "Oi " & Plan20.Range("C11") & " " & Plan20.Range("C12") & ". Seu login foi realizado com sucesso.", vbExclamation, "seja bem vindo!"
Unload UserForm2
Else
MsgBox "senha incorreta", vbInformation, "login"
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End If
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If Eventos Then
    If CloseMode = vbFormControlMenu Then
        Cancel = True
    End If
End If
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 10/02/2015 8:01 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Oi. Por algum motivo que desconheço, o que era Plan1, se transformou em Plan11.
No arquivo original a "capa" é a plan1. Agora, a "capa" é a "plan11".
Bom, segue o arquivo de novo, com este ajuste.
Agora vai dar pra ver o que acontece direitinho quando clica em "cancelar".
Desculpe.

Júlio.

 
Postado : 10/02/2015 8:13 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Amigo, o nome da planilha e a seleção dela, nesse caso, não faz diferença.

Vc testou a sugestão que te passei por último?

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 10/02/2015 8:16 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Oi Gilmar. Eu testei sim. Mas quando clico em cancelar, eu quero mandar o usuário para a primeira tela. Pois lá no módulo 22, tem uma macro, (a título de exemplo), que o leva para outras abas, desde que ele acerte a senha. Na sua sugestão, ele fechou o UserForm e, como tinha no módulo22 a orientação de acesso a aba desejada após fechar o UserForm, ele acabou conseguindo acessar, mesmo clicando em "cancelar".
Aí, eu inseri o Plan11.select. E acessou direitinho.
Mas continua não fechando.
=/

 
Postado : 10/02/2015 8:34 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Bem, vamos aguardar e ver se mais alguém enfrenta o mesmo problema, porque comigo não aconteceu.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 10/02/2015 8:36 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Então... achei uma forma de te mostrar o que realmente acontece. Neste último arquivo que mandei, tente acessar o ícone chamado "análise" a partir da aba "capa relatórios".
Quando clicares em "cancelar" ele vai voltar para a aba "capa". Mas não fecha mais o excel. E descobri agora que também não deixa deletar ou recortar a imagem da aba "capa".
Muito estranho, né?

Gilmar, você poderia tentar apenas mais uma vez?

Te agradeço muito.

Júlio.

 
Postado : 10/02/2015 8:42 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Júlio,

Eu fiz o que vc falou, e, realmente, a planilha não fechou.

Porém, em alguns momentos, ela fecha. Eu não consegui entender a lógica, e tudo o que tentei também não deu resultado.

Eu notei que o teu arquivo está corrompido. Ele possui 2 "EstaPasta_de_Trabalho". Uma delas ficou com o nome "Plan1", mas, se você for olhar, não é uma planilha (sheet), mas uma pasta de trabalho (workbook).

Então, tentei copiar tudo para um arquivo novo, e ainda assim não deu resultado.

Infelizmente, não estou conseguindo te ajudar.

Vamos ver se alguém apresenta alguma solução.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 10/02/2015 10:07 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Tranquilo Gilmar. Esse erro das duas pastas de trabalho só está dando neste arquivo que remodelei para anexar no post. No arquivo original tá ok. Eu andei pensando em soluções alternativas aqui. Vou fazer uns testes e aviso.

Muito agradecido, Gilmar.

Um abraço.

Júlio.

 
Postado : 10/02/2015 11:13 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Oi amigos.
Resolvi. E de forma alternativa.
Criei um botão com uma macro que fecha o arquivo. Não tive problemas pois já uso uma parte da tela com ícones para coisas do sistema, como imprimir, visualizar, zoom, etc... e então acrescentei fechar, e mais outro de ir ao topo.
No final, resolvido e ficou até estiloso!!
Obrigado especial ao Gilmar por ter tentado me ajudar e ao Fernando Fernandes por editar meu post. hehe
Um abraço.

 
Postado : 11/02/2015 6:38 am