Vérifier si une case à cocher basée sur une feuille de calcul est cochée
Je suis en train d'utiliser un SI la clause de déterminer si ma case, nommé "Case 1", est vérifiée ou non, de continuer à les utiliser dans mon programme.
Mon code actuel:
Sub Button167_Click()
If ActiveSheet.Shapes("Check Box 1") = True Then
Range("Y12").Value = 1
Else
Range("Y12").Value = 0
End If
End Sub
Cela ne semble pas fonctionner, mais le débogage est de me dire il y a un problème avec le
ActiveSheet.Shapes("Check Box 1")
Cependant, je sais que ce code fonctionne (même si elle sert un but différent):
ActiveSheet.Shapes("Check Box 1").Select
With Selection
.Value = xlOn
EDIT:
Si plus d'Information est nécessaire, Mes cases à cocher (il y a 200 sur ma page), sont situés dans la feuille sheet1, par le nom de "Demande". Et chaque Case est a la même formaté le nom de la Case à cocher"...".
Toute aide serait appréciée. Grâce
source d'informationauteur Paolo Bernasconi
Vous devez vous connecter pour publier un commentaire.
1 est cochée, -4146 n'est pas cochée, 2 est mixte (zone grise)
Est-ce que vous essayez?
Remplacer
Activesheet
avec les sheetname. Également remplacerCheck Box 1
avec la case à cocher correspondante nom.Bâtiment sur la précédente réponsesvous pouvez tirer parti du fait que
True
est -1 etFalse
est de 0 et de raccourcir votre code comme ceci:Si la case est cochée,
.Value
= 1.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value > 0
retourneTrue
.L'application de la
Abs
fonction convertitTrue
à1
.Si la case n'est pas cochée,
.Value
= -4146.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value > 0
retourneFalse
.L'application de la
Abs
fonction convertitFalse
à0
.Essayer:
Controls("Check Box 1") = True