Notifications
Clear all

Ocultar plan2 de acordo com o valor da célula da Plan1

8 Posts
2 Usuários
0 Reactions
1,432 Visualizações
(@marcio54)
Posts: 16
Active Member
Topic starter
 

Prezados, bom dia!

Exemplo do que preciso

Se na Planilha 1 - Valor da celula F13 = Sul América, ocultar automaticamente a planilha "Unimed"
Se na Planilha 1 - Valor da celula F13 = Unimed, ocular a planilha "Sul América"

O cursor dever permanecer na Planilha 1, pois o usuário continuará a preencher outros dados
Segue a planilha anexo

Grato pela ajuda

 
Postado : 28/04/2016 9:16 am
edilsonfl
(@edilsonfl)
Posts: 227
Estimable Member
 

Olá MArcio54,

Segue planilha com código vba já implementado.

Verifique que no editor VBE, o código foi inserido em PLA1, não nos módulos, pis se trata de um evento ( Change ) que pertence à planilha.

CUIDADO,
O nome "Sul América" e "Unimed" devem ser inseridos exatamente como foi inserido no código VBA, se alguma letra for digitada maiúscula ou minuscula, diferente do estabelecido, irá ocultar as duas planilhas.
Por isso é importante carregar a célula E13 com a lista suspensa que inseri.

Boa sorte.
Dê retorno.

Quando ajuda for útil dê um clique na mãozinha, isso atribui ponto ao colaborador.

 
Postado : 28/04/2016 10:03 am
(@marcio54)
Posts: 16
Active Member
Topic starter
 

Edilson, boa tarde!

Muito obrigado pela ajuda. Que DEUS te abençoe

Forte abraço

 
Postado : 28/04/2016 11:03 am
(@marcio54)
Posts: 16
Active Member
Topic starter
 

Edilson, boa tarde!

Se na célula F13 fosse uma formulá. Como ficaria a Macro?

Tenho essa formula na celula F13 --- =SEERRO(SE($D12<>";";PROCV($D12;'Dados SAS'!$CB:$CO;14;0););SE($D12<>";";PROCV($D12;'Dados Unimed'!$AA:$AJ;10;0)))

Exemplo:
Se o resultado de F13="Sul América"- ocultar o aba" Unimed"
Se o resultado de F13= "Unimed" ocultar a aba "Sul América"

Grato pela ajuda

 
Postado : 03/05/2016 12:42 pm
edilsonfl
(@edilsonfl)
Posts: 227
Estimable Member
 

Olá,
Não entendi bem sua dúvida, mas aplicando o código abaixo em Plan1 ( não colocar no módulo) terá o resultado esperado sempre que plan1 for ativada ( estiver em outra planilha e entrar em plan1)

Private Sub Worksheet_Activate()

  Application.ScreenUpdating = False ' oculta dados executados pela macro na tela, macro mais rápida
 
      
        If Range("F13").Value = "Sul América" Then
        Sheets("Sul América").Visible = True
        Sheets("Unimed").Visible = False
        
        ElseIf Range("F13").Value = "Unimed" Then
        Sheets("Unimed").Visible = True
        Sheets("Sul América").Visible = False
        
        Else ' se não for unmed nem Sul América, oculta as duas
        Sheets("Unimed").Visible = False
        Sheets("Sul América").Visible = False
        
        End If
    
  Application.ScreenUpdating = True ' oculta dados executados pela macro na tela, macro mais rápida
End Sub

Quando ajuda for útil dê um clique na mãozinha, isso atribui ponto ao colaborador.

 
Postado : 03/05/2016 8:12 pm
(@marcio54)
Posts: 16
Active Member
Topic starter
 

Edilson, bom dia!

Primeiramente gostaria de agradecer pela sua ajuda

Gostaria que o cursor continuasse na plan1, como no primeiro arquivo que você enviou!
É que no lugar da lista suspensa, será uma formula que o resultado pode ser Sul América ou Unimed. Dependendo do resultado mudasse a aba automaticamente para Sul América ou Unimed

Neste comando em VBA que acabou de enviar, precisava apenas que alterasse para que o cursos continuasse na plan1. Somente quando alteresse o resultado da F13 mudasse automaticamente a aba para Unimed ou SulAmérica (Porém não quero que o cursor vai de imediato para essas abas)

Grato

pois ainda terei que preencher outros dados e depois quando mudar de abai ir direto para aba correta que pode ser unimed ou Sul América

Grato

 
Postado : 04/05/2016 7:41 am
edilsonfl
(@edilsonfl)
Posts: 227
Estimable Member
 

por favor envie um modelo do seu arquivo excel, com as abas (planilhas) envolvidas no projeto, a fórmula inserida na célula desejada ( F13), etc, pois fica complicado identificar os objetos ( células, planilhas etc ) que estarão relacionadas ao evento.

Quando ajuda for útil dê um clique na mãozinha, isso atribui ponto ao colaborador.

 
Postado : 04/05/2016 7:39 pm
(@marcio54)
Posts: 16
Active Member
Topic starter
 

Edison

Consegui resolver alterando o começo do comando

DE : Private sub Worksheet_ Active POR: Private sub Worksheet_change

Sua ajuda contribuiu bastante

Muito Obrigado

 
Postado : 06/05/2016 11:36 am