Notifications
Clear all

Alterar valor de célula e abrir ou ocultar aba

8 Posts
3 Usuários
0 Reactions
1,228 Visualizações
(@manciano)
Posts: 5
Active Member
Topic starter
 

Bom dia galera,

Sou novo aqui no planilhando e estou executando algumas planilhas para agilizar minha rotina de trabalho e apesar de conseguir fazer algumas macros, estou apanhando para desenvolver uma que possa me ajudar. kk

Tenho uma planilha com umas 20 abas de produtos diversos e uma aba principal (rosto) que será a proposta comercial. Nessa aba de rosto coloquei células com validação de dados onde eu seleciono um produto e gostaria que a aba correspondente a esse produto reexibisse quando todas as 20 abas estivessem ocultas e quando a célula estivesse vazia a aba voltasse a ocultar.

Vi algumas macros de amigos que me enviaram mas nenhuma resolveu.

Caso alguém possa me auxiliar nessa questão ajudará outros que também precisam desse suporte.

Obrigado.

 
Postado : 10/09/2015 7:54 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Coloque o seguinte código no módulo da planilha principal:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim plan As Worksheet
For Each plan In ActiveWorkbook.Sheets
If plan.Name = "Menu" Or plan.Name = Range("H5").Value Then
    plan.Visible = xlSheetVisible
Else
    plan.Visible = xlSheetHidden
End If
Next plan
End Sub

Ajuste o nome "Menu" para o nome da sua planilha principal e ajuste "H5" para a célula onde está a sua lista suspensa.

Abraços!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 10/09/2015 8:56 am
(@manciano)
Posts: 5
Active Member
Topic starter
 

Rafael boa tarde.

Fiz exatamente como mencionou acima. Coloquei o código na planilha principal e alterei o nome "Menu" para o nome da planilha principal e ajustei a célula onde está a lista suspensa. Mas ao executar a seleção da lista as abas ocultaram e não retornou a aba solicitada da lista.

Será que fiz algo errado? Posso enviar a planilha para conferir se for o caso.

Obrigado pela ajuda

 
Postado : 10/09/2015 12:15 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Posta o arquivo aqui

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 10/09/2015 1:24 pm
(@manciano)
Posts: 5
Active Member
Topic starter
 

Estou postando o link para baixar:

https://www.dropbox.com/s/tay5jx725nyo4 ... a.xls?dl=0

 
Postado : 10/09/2015 1:26 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Não consigo acessar o dropbox no momento. Por que não posta aqui mesmo um modelo compactado?

Na lógica que fiz, se não coincidir o nome certinho, inclusive letras maiúsculas e minúsculas, a planilha permanecerá oculta.

Se quiser desconsiderar a comparação de maiúscula ou minuscula adicione a linha:

Option Compare Text

Antes do código (fora do código no início do módulo).

Option Compare Text

Private Sub Worksheet_Change(ByVal Target As Range)
Dim plan As Worksheet
For Each plan In ActiveWorkbook.Sheets
If plan.Name = "Menu" Or plan.Name = Range("H5").Value Then
    plan.Visible = xlSheetVisible
Else
    plan.Visible = xlSheetHidden
End If
Next plan
End Sub

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 10/09/2015 1:36 pm
(@manciano)
Posts: 5
Active Member
Topic starter
 

Rafael como sou usuário novo não consigo anexar o arquivo direto por aqui, a não com uma autorização de acesso de moderadores ou administradores.

Vou tentar novamente com o código que você postou e ver se dá certo.

Obrigado novamente.

 
Postado : 10/09/2015 1:53 pm
(@manciano)
Posts: 5
Active Member
Topic starter
 

Bom dia ao pessoal do site,

Galera consegui com ajuda de um amigo a fazer parte do que preciso, que é habilitar, através de uma macro, uma aba escolhida a partir de um combobox de seleção.
No entanto ainda preciso fazer com que ao selecionar um item, não oculte a outra aba já previamente selecionada em outro combobox. A ideia é que existam, por exemplo, 10 combobox de seleção e cada um opere individualmente da outra, sem fechar a aba da outra já selecionada.

Segue o script desta macro:

Private Sub escolha_estativa_1_Change()

Application.ScreenUpdating = False

Dim PlanEscolhida As String

PlanEscolhida = escolha_estativa_1.Text

ActiveWorkbook.Unprotect "senha" 'Desprotege a pasta de trabalho

Call RedefinirPlanilhas("Selecionar") 'Chama a rotina para ocultar as planilhas
'e carregar a combobox

Sheets(PlanEscolhida).Visible = True 'Reexibe a planilha escolhida
Plan9.Visible = False
Sheets("Menu Principal").Select 'Torna a planilha ativa
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="senha" 'Protege a pasta
'de trabalho, novamente

Application.ScreenUpdating = True

End Sub
Private Sub escolha_estativa_2_Change()

Application.ScreenUpdating = False

Dim PlanEscolhida As String

PlanEscolhida = escolha_estativa_2.Text

ActiveWorkbook.Unprotect "senha" 'Desprotege a pasta de trabalho

Call RedefinirPlanilhas("Selecionar") 'Chama a rotina para ocultar as planilhas
'e carregar a combobox

Sheets(PlanEscolhida).Visible = True 'Reexibe a planilha escolhida
Plan9.Visible = False
Sheets("Menu Principal").Select 'Torna a planilha ativa
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="senha" 'Protege a pasta
'de trabalho, novamente

Application.ScreenUpdating = True

End Sub

Private Sub escolha_estativa_3_Change()

Application.ScreenUpdating = False

Dim PlanEscolhida As String

PlanEscolhida = escolha_estativa_3.Text

ActiveWorkbook.Unprotect "senha" 'Desprotege a pasta de trabalho

Call RedefinirPlanilhas("Selecionar") 'Chama a rotina para ocultar as planilhas
'e carregar a combobox

Sheets(PlanEscolhida).Visible = True 'Reexibe a planilha escolhida
Plan9.Visible = False
Sheets("Menu Principal").Select 'Torna a planilha ativa
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="senha" 'Protege a pasta
'de trabalho, novamente

Application.ScreenUpdating = True

End Sub

Caso alguém possa ajudar nessa macro agradeço desde já.

 
Postado : 14/09/2015 6:45 am