Ir ao conteúdo
  • Cadastre-se

VBA - Activate parou de funcionar quando mudei pro Excel 2013


Posts recomendados

Boa noite, pessoal!


 


Eu comecei a usar o Excel 2013 recentemente e notei um comportamento diferente numa macro de uma planilha que já funcionava perfeitamente no Excel 2010.


 


Na sheet principal, há um botão que cria uma sheet nova com base numa sheet modelo.


 


O código parece rodar normalmente: a nova sheet é criada idêntica ao modelo e ela parece estar ativa, é ela quem aparece na tela quando o código termina de rodar.


 


O comportamento estranho é observado quando eu tento escrever algo nessa nova sheet: se eu escrevo algo numa determinada célula, a mesma fica em branco quando eu clico em Enter para indicar que terminei de escrever. Fica como se eu não tivesse escrito coisa alguma e não há mensagem de erro.


 


Ao voltar pra sheet principal, eu percebo que o conteúdo que eu tentei colocar numa célula da nova sheet está na mesma célula da sheet principal. Se eu digitar "AAA" na célula A1 da sheet nova, não aparece coisa alguma nessa célula e aparece "AAA" na célula A1 da sheet principal.


 


Isso acontece com mais alguém? Alguém sabe o motivo?


 


O código funciona perfeitamente no VBA do Excel 2010, a planilha volta a funcionar corretamente quando eu uso o Excel 2010...   :(


Link para o comentário
Compartilhar em outros sites

DeadLine, muito obrigado!

 

Estou enviando um código parecido que gera o mesmo erro. O código é este:

 

Private Sub CommandButton1_Click()If TextBox1 = "RH" Then   Sheets("RH").Visible = True   worksheets("RH").Activate   Sheets("RH").Cells(5, 5).SelectEnd IfUnload MeEnd Sub
 
Quando o usuário clica no botão RH, uma janela é aberta. Nessa janela, o usuário digita a senha "RH" numa textbox e clica em OK. Clicando em OK, este código é executado. Quando este código termina de rodar, a sheet RH fica visível.
 
Se eu digito algo na célula A1 de RH, fica como se eu não tivesse digitado coisa alguma. Mas, quando volto para a sheet Início, o conteúdo que eu tentei digitar em RH aparece na célula A1 de Início como se esta fosse a sheet ativa.
 
O curioso é que eu coloquei, só pra testar, uma linha de código que escreve um número 1 numa das células do RH. Com o código, o conteúdo é escrito na sheet correta. Mas, assim que o código para de rodar, eu tento escrever algo manualmente e o conteúdo vai para a sheet errada.
 
 
 
PS.: a ideia do cliente é tornar a sheet RH visível somente por quem tem a senha. Eu sei que dá pra quebrar esse mecanismo de "segurança" desabilitando as macros, avisei isso ao cliente, mas ele quer que seja feito assim.
Link para o comentário
Compartilhar em outros sites

DeadLine, o problema persiste.

 

Eu crio a sheet nova usando o botão e o código termina exibindo essa sheet nova. Porém, quando escrevo algo nela, o conteúdo vai parar na mesma célula da sheet que contém o botão mencionado.

 

Uma nova observação: o código termina exibindo a sheet nova. Se eu for manualmente para uma sheet antiga (clicando na guia dela) e voltar manualmente para a sheet nova, eu consigo escrever algo nas células dela normalmente.

 

Valeu pela atenção!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...