Usuário com melhor resposta
Botão abrir planilha na mesma pasta

Pergunta
-
Boas! Sou estreante por aqui.
Procurei muito e não encontrei, se puderem me socorrer, agradeço imensamente.
Uso Office 2007 e tenho um arquivo Excel com 500 planilhas. Preciso de uma planilha "menu" onde possa entrar com o nome da planilha na célula "A1" e ao clicar em um botão "abrir" vá para a planilha escolhida.
Muitíssimo grato,
Jorge
Respostas
-
Boa tarde Jorge!
Não precisa pedir desculpas, tá tudo certo!
O seu problema é simples. Quando vc disse que digitaria o "nome" da planilha eu pensei que fosse o nome da aba, daí não haveria problema algum. Mas se vc quer usar o índice da planilha vc precisa apenas levar em conta que o Excel numera dinamicamente da esquerda para a direita, ou seja, se vc alterar a ordem das abas seus respectivos números também se alterarão. Se isso não for um problema, basta então somar 1 na expressão que te passei:
Sub Exibir() Sheets(ActiveSheet.Range("A1").Value + 1).Activate End Sub
Um abraço.
Filipe Magno
- Marcado como Resposta Comp2Home quarta-feira, 11 de dezembro de 2013 17:45
Todas as Respostas
-
-
Filipe, obrigado pela pronta assistência. Estive de cama nos dois últimos dias e nem cheguei perto do PC.
É exatamente isso que preciso, porém, minha primeira planilha chama-se "menu", e foi nela que coloquei o código.
Então, ao digitar na célula A1 o número 98, referente à planilha em questão, ao clicar no botão é aberta a planilha 97.
Acredito que a planilha "menu" esteja sendo inclusa na contagem.
Há como resolver esse inconveniente?
Novamente obrigado e desculpe não ter podido responder antes.
Jorge
-
Boa tarde Jorge!
Não precisa pedir desculpas, tá tudo certo!
O seu problema é simples. Quando vc disse que digitaria o "nome" da planilha eu pensei que fosse o nome da aba, daí não haveria problema algum. Mas se vc quer usar o índice da planilha vc precisa apenas levar em conta que o Excel numera dinamicamente da esquerda para a direita, ou seja, se vc alterar a ordem das abas seus respectivos números também se alterarão. Se isso não for um problema, basta então somar 1 na expressão que te passei:
Sub Exibir() Sheets(ActiveSheet.Range("A1").Value + 1).Activate End Sub
Um abraço.
Filipe Magno
- Marcado como Resposta Comp2Home quarta-feira, 11 de dezembro de 2013 17:45
-