2012-10-03 2 views
0
Private Sub CheckBox9_Click() 
    If CheckBox9.Value = True Then 
     CheckBox9.Caption = "Done" 
     ActiveWorkbook.Sheets("Well Planning Checklist").Tab.ColorIndex = 4 
     'ActiveSheet.Tab.ColorIndex = 22 
     Range("Q17").Value = CheckBox9.Caption 
    Else 
     If LCase(Range("Q17").Value) = CheckBox9.Caption Then 
      CheckBox9.Value = Not (CheckBox9.Value) 
     Else 
      CheckBox9.Value = Not (CheckBox9.Value) 
     End If 
    End If 
End Sub 

J'ai utilisé ce qui précède pour m'assurer qu'une fois que l'utilisateur clique sur la case, il ne peut pas le décocher. Cependant, je voudrais être en mesure d'avoir un bouton que mon utilisateur pourrait réinitialiser. tout et pas seulement la case à cocher. J'ai ci-dessous mais ça ne marche pas. Quelqu'un pourrait-il m'aider à le faire fonctionner?Excel VBA: Comment effacer CheckBox

Private Sub CommandButton1_Click() 
    CheckBox9 

    ActiveWorkbook.Sheets("Well Design Section").CheckBox9.Caption = "Incomplete " 
    ActiveWorkbook.Sheets("Well Design Section").CheckBox9.Value = False 
    Range("Q17").Value = "Incomplete" 
End Sub 

Répondre

2

Pour résoudre le problème, vous pouvez remplacer votre CheckBox9_Click sous avec ceci:

Private Sub CheckBox9_Click() 
    If CheckBox9.Value = True Then 
     CheckBox9.Caption = "Done" 
     ActiveWorkbook.Sheets("Well Planning Checklist").Tab.ColorIndex = 4 
     'ActiveSheet.Tab.ColorIndex = 22 
     Range("Q17").Value = CheckBox9.Caption 
    Elseif Checkbox9.Caption <> "Incomplete" Then 
     If LCase(Range("Q17").Value) = CheckBox9.Caption Then 
      CheckBox9.Value = Not (CheckBox9.Value) 
     Else 
      CheckBox9.Value = Not (CheckBox9.Value) 
     End If 
    End If 
End Sub 

La seule différence est votre déclaration Else est remplacé par un Elseif. Cela ne se produira maintenant que si le Caption <> "Incomplete", est correct, car la valeur initiale sera vraie si la case est cochée.

+0

J'ai essayé ce qui précède sans succès. Quand j'ai cliqué sur CommandButton1_Click() cela a fonctionné comme mon code. S'il vous plaît jeter un oeil à mon bouton Sub. – user618677

+0

Daniel, ça a marché !!! – user618677