Notifications
Clear all

Foco em uma planilha

9 Posts
2 Usuários
0 Reactions
1,872 Visualizações
mdosmagos
(@mdosmagos)
Posts: 78
Trusted Member
Topic starter
 

Boa dia!

Tenho a seguinte situação, criei um form para ter acesso a uma guia, coloquei uma senha, conforme código abaixo, mas ocorre um problema, quando coloco a senha correta ele acessa a guia de destino, mas ela fica congelada, tipo, parece que ainda está na guia em que acessei o form.

Private Sub entrar_Click()

Senha1 = Worksheets("Definições").Range("Z6").Value
Senha2 = txtsenha.Text

If Senha1 = Senha2 Then
Sheets("Definições").Select
Unload acessoDefinicoes
End
End If

If Senha1 <> Senha2 Then
MsgBox "Palavra-passe errada.", vbInformation, "DEFINIÇÕES GERAIS"
txtsenha.Text = ""
End
End If

End Sub

Aqui o código que acesso o form para digitar a senha... bem básico...

Sub Atalho_Definições()

senhaDefinicoes.Show

End Sub

O problema parece que está quando acesso o form através deste Sub Atalho_Definições, pois quando executo o form diretamente no VBA ele funciona e não fica congelada a guia de destino.
Parece que a guia de destino fica fora do foco...

Conto com a ajuda de vocês...

 
Postado : 08/08/2014 8:08 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Já tentou chamar tal guia com a senha certa ou errada?
http://msdn.microsoft.com/en-us/library ... =office.11).aspx

Att

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

 
Postado : 08/08/2014 9:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Nesta Sub você está chamando o Formulário senhaDefinicoes, então tem de ver se as rotinas que estão neste formulário, provavelmente está utilizando Application.ScreenUpdating=False e não está revertendo no final, altere tambem Sheets("Definições").Select para Sheets("Definições").Activate

Editei porque esqueci de comentar tambem, que se está se referindo a esta instrução :
Sheets("Definições").Select
E a origem foi atraves do formulario senhaDefinicoes, o que seria esta chamada fechando outro formulário ?
Unload acessoDefinicoes

[]s

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

 
Postado : 08/08/2014 10:55 am
mdosmagos
(@mdosmagos)
Posts: 78
Trusted Member
Topic starter
 

Isolei o mesmo procedimento que fiz em minha planilha em uma nova somente com tal situação, continua ocorrendo a mesma coisa, segue o arquivo com o exemplo, note que ao colocar a senha certa ele aparentemente vai para a Plan2, mas se você rolar a página com o roda scroll do mouse irá notar que as linhas estão congeladas, (os números das linha não acompanham, ficam parados), a tela é da Plan2, mas por trás continua a Plan1... sendo assim, na minha planilha que uso, a tela aparece, mas os dados são da guia anterior....

Conto com a ajuda de vocês....

 
Postado : 08/08/2014 11:46 am
mdosmagos
(@mdosmagos)
Posts: 78
Trusted Member
Topic starter
 

Não consegui contornar essa situação, mas pelo que vejo é um problema na versão do Excel, estou usando a 2013, em máquinas com a 2007 não acontece isso. Espero que corrijam....

 
Postado : 08/08/2014 2:24 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Feche o formulário ou sete a propriedade showboat (ou modal, não lembro ao certo)...
O problema é q o form fica aberto em cima da planilha..

Use .Hide no form tb é uma alternativa ...

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

 
Postado : 08/08/2014 4:36 pm
mdosmagos
(@mdosmagos)
Posts: 78
Trusted Member
Topic starter
 

Opa, o form não fica aberto, deve ser um bug mesmo, faça o teste no meu arquivo, coloque a senha correta e veja, na guia que abrir mude a largura de uma linha, ela vai alterar a largura da linha da guia anterior, mas está mostrando a guia de destino.... só acontece em excel 2013 ou superior...

 
Postado : 08/08/2014 5:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Então tenta application.Screenupdating=true

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

 
Postado : 08/08/2014 5:57 pm
mdosmagos
(@mdosmagos)
Posts: 78
Trusted Member
Topic starter
 

Isso também não funciona. Consegui resolver esse bug com:

Sub Tempo_Senha()
Application.OnTime Now + TimeValue("00:00:01"), "Atalho_Definições"
End Sub

Muito obrigado pela ajuda de todos... Valeu...

 
Postado : 09/08/2014 4:19 am