Для простоты я буду предполагать, что ваш флажок находится на рабочем листе с именем Test
. Я также предполагаю, что когда флажок снят, соответствующая ячейка должна быть очищена.
Для флажка типа ActiveX с именем CheckBox1
ваш код должен находиться в той же самой таблице как флажок и должен выглядеть следующим образом:
Option Explicit
Sub CheckBox1_Click()
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Produits")
If CheckBox1.Value Then
sht.Range("A1") = CheckBox1.Caption
Else
sht.Range("A1").ClearContents
End If
End Sub
Для типа Контроль формы типа флажка с именем Check Box 2
ваш код должен находиться в модуле и должен выглядеть так :
Option Explicit
Sub CheckBox2_Click()
Dim cb As CheckBox
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Set sht1 = ThisWorkbook.Worksheets("Test")
Set sht2 = ThisWorkbook.Worksheets("Produits")
Set cb = sht1.CheckBoxes("Check Box 2") 'whatever the name of your checkbox is...
If cb.Value = 1 Then
sht2.Range("A2") = cb.Caption
Else
sht2.Range("A2").ClearContents
End If
End Sub