Notifications
Clear all

Msgbox ao selecionar checkbox

4 Posts
2 Usuários
0 Reactions
1,914 Visualizações
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Bom dia!
Eu tenho uma planilha no excel com varias checkbox e gostaria de saber se exixte uma maneira de sempre que for selecionado tal checkbox, apareça uma msgbox perguntando se realmente deseja selecionar. Se a opção for "sim", ficará marcado, se for "não" fica desmarcado.
Obrigado!

 
Postado : 02/05/2013 5:08 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Brun, supondo que estamos falando de checkbox em formulário, podemos utilizar a rotina abaixo, se não for em formulário é só adaptar para uso do controle que inseriu na planilha.

Private Sub CheckBox1_Click()

    Dim sMsg

    If CheckBox1 = True Then
        
        sMsg = MsgBox("Você selecionou o Checkbox", vbYesNo + vbDefaultButton1 + vbQuestion, _
                              "Checkbox Selecionado")
        Application.EnableEvents = False
        Cancel = True
      
        If sMsg = vbYes Then
               
                CheckBox1 = True
            ElseIf sMsg = vbNo Then
               
                CheckBox1 = False
        Else
               
                Cancel = True
                   
        End If
        
        Application.EnableEvents = True
    
    End If
End Sub

Vale uma obs quando diz "sempre que for selecionado tal checkbox....Se a opção for "sim", ficará marcado, se for "não" fica desmarcado", estou supondo que os valores iniciais dos checkbox são falsos e pela maneira que postou só é solicitado confirmação quando marcamos o mesmo e não quando desmarcamos.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/05/2013 5:43 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Valeu, Mauro!
Consegui implementar no formulário, mas como ficaria o código quando os checkbox estão em células comuns do excel?
Obrigado!

 
Postado : 02/05/2013 6:34 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Valeu, Mauro!
Consegui implementar no formulário, mas como ficaria o código quando os checkbox estão em células comuns do excel?
Obrigado!

Se for do Tipo Activex pode utilizar a mesma rotina sem mexer em nada, ao inserir uma Caixa de Seleção que se encontra na Caixa de ferramenta Controle (Excel 2003) acho que 2007 são os Activex, de dois cliques no mesmo e cole a Rotina.
Agora se for da Caixa de Ferramenta Formulário, estes são do tipo shape, podendo estarem linkados a celulas, entãop nerste tipo temos de fazer um rotina a parte e uma Function para captar a qual checkbox (CAPTION) estamos clicando e enviar a outra rotina com a mensagem, é um pouco mais complicado.

Quanto a este controle Formulário de uma olhada no link abaixo :
Using Form Check Boxes in VBA code
http://www.ozgrid.com/forum/showthread.php?t=52116

Neste tem uma rotina que diferencia os dois controles :
How to create a kind of variable Checkbox in vba excel
http://stackoverflow.com/questions/1475 ... -vba-excel

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/05/2013 11:47 am