Notifications
Clear all

Ocultar Botões

7 Posts
3 Usuários
0 Reactions
1,549 Visualizações
(@ewerthonk)
Posts: 5
Active Member
Topic starter
 

Fala galera, acompanho o fórum faz tempo, e sempre utilizei ele pra sanar várias dúvidas de Excel, mas essa aqui não encontrei resolvida, e é pra um projeto da minha Empresa Júnior, portanto, a causa é nobre! Se puderem ajudar, fico muito graaato. Segue a dúvida:
Numa das abas da planilha, criei uma forma de preenchimento que teoricamente deveria ocultar e mostrar botões (Os agrupei de 2 em 2) e fiz a seguinte rotina para ocultá-los com base em uma condição:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("I6") = "" Then
        Shapes("Agrupar 1").Visible = False
    End If
    If Range("I6") <> "" Then
        Shapes("Agrupar 1").Visible = True
End Sub

Porém, quando os botões deveriam sumir ou aparecer quando a condição é ativada, primeiro tenho que clicar em alguma célula, digitar algo e apertar enter, só após isso os botões aparecem ou somem, alguém sabe me explicar por que isso acontece, ou passar alguma coisa para o código que resolveira isso?
Caso necessitem da Planilha pra entenderem melhor, é só me avisar que eu upo ela.

 
Postado : 09/08/2017 12:10 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

ewerthonk,

Bom dia!

Da forma que você fez, o que está ocorrendo é normal. Ou seja, você colocou o código no evento Worksheet_Change, Esse evento ocorre quando é feita alguma "mudança" na aba em que ele foi inserido. Obviamente, essa "mudança" só ocorre quando se insere ou se apaga alguma coisa e tecla ENTER. Existem outros eventos no objeto WorkSheet que se propõem a outras finalidades como o evento Worksheet_SelectionChange que é disparado toda vez que uma célula é selecionada.

Todavia, até onde entendi o que você deseja, seu código está correto. Ou seja, se a célula I6 estiver vazia, ele esconde as formas. Caso contrário, exibe as mesmas.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/08/2017 4:47 am
(@romanha)
Posts: 104
Estimable Member
 

Bom dia!

ewerthonk,

Em um programa que criei coloquei assim para ocultar o botão de cadastro, veja se ajuda no seu programa.

Private Sub bt_cadas_Click()
Dim Senha As String

    Senha = InputBox("Digite a senha", "SENHA")
    If Senha = "" Then bt_cadas.Visible = 0
    If Senha = "123" Then
     
        bt_cadas.Visible = 1
        MsgBox "Acesso Liberado ! ", vbDefaultButton1, "SENHA CORRETA"
        Unload UF_MENU
        UF_CADASTRO.Show
   
    Else
        MsgBox "Senha Incorreta!!", vbCritical, "ERRO"
      
        bt_cadas.Value = 0
        
    End If
End Sub

Se a resposta foi últil, gentileza, Amigo,clique na mãozinha ao lado direito da sua tela. canto superior.

" Aquele que habita no esconderijo do Altissimo, à sombra do Onipotente descansará. Salmos 91:1"

Atenciosamente.

Jason Romanha

 
Postado : 09/08/2017 9:42 am
(@ewerthonk)
Posts: 5
Active Member
Topic starter
 

ewerthonk,

Bom dia!

Da forma que você fez, o que está ocorrendo é normal. Ou seja, você colocou o código no evento Worksheet_Change, Esse evento ocorre quando é feita alguma "mudança" na aba em que ele foi inserido. Obviamente, essa "mudança" só ocorre quando se insere ou se apaga alguma coisa e tecla ENTER. Existem outros eventos no objeto WorkSheet que se propõem a outras finalidades como o evento Worksheet_SelectionChange que é disparado toda vez que uma célula é selecionada.

Todavia, até onde entendi o que você deseja, seu código está correto. Ou seja, se a célula I6 estiver vazia, ele esconde as formas. Caso contrário, exibe as mesmas.

Correto, o problema é que o evento que deixa I6 vazia ou cheia ocorre, e eu gostaria que imadiatamente os botões sumissem ou aparecessem, tem algo que eu possa adicionar no meu código que faça isso acontecer?

 
Postado : 10/08/2017 5:08 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

ewerthonk,

Bom dia!

Como é o p´reenchimento de I6? É normal? Você digita e tecla ENTER?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 10/08/2017 5:32 am
(@ewerthonk)
Posts: 5
Active Member
Topic starter
 

ewerthonk,

Bom dia!

Como é o p´reenchimento de I6? É normal? Você digita e tecla ENTER?

Não, ela ocorre a partir de uma fórmula SE, dependendo do preenchimento de uma outra célula.

 
Postado : 10/08/2017 5:35 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

ewerthonk,

Bem... nesse caso, a célula I6 tem uma fórmula e se ocorrer alguma coisa em outra célula ela é ou não preenchida. Desse modo, você precisa fazer referência a célula que pode disparar o preenchimento da célula I6.

Veja, no exemplo anexo, como fiz isso.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 10/08/2017 5:57 am