Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如果特定单元格包含特定输入,则选中Vba标记复选框_Excel_Vba_Checkbox - Fatal编程技术网

Excel 如果特定单元格包含特定输入,则选中Vba标记复选框

Excel 如果特定单元格包含特定输入,则选中Vba标记复选框,excel,vba,checkbox,Excel,Vba,Checkbox,我需要创建一个复选框,仅当另一个特定单元格包含特定输入时选中该复选框,如果该输入不存在则取消选中该复选框,注意我尝试了下面的代码 Private Sub Worksheet_Ca() Dim DestS As Worksheet Set DestS = ThisWorkbook.Worksheets("rest") Dim DestSh As Range Set DestSh = DestS.Range("B2") If DestSh.Value =

我需要创建一个复选框,仅当另一个特定单元格包含特定输入时选中该复选框,如果该输入不存在则取消选中该复选框,注意我尝试了下面的代码

Private Sub Worksheet_Ca()

Dim DestS As Worksheet
Set DestS = ThisWorkbook.Worksheets("rest")

Dim DestSh As Range
Set DestSh = DestS.Range("B2")

If DestSh.Value = "Device" Then
DestS.CheckBoxes("Reset").Value = xlOn
Else
DestS.CheckBoxes("Reset").Value = xlOff
End If
End Sub
另外,我使用的复选框是表单工具栏的一部分,而不是activeX,我将复选框的名称更改为“重置”

我在使用debug时遇到的错误是
对象_工作表的复选框方法失败

请复制工作表“rest”代码模块中的下一个事件代码:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("B2")) Is Nothing Then
    If Target.value = "Device" Then
        CheckBoxes("Reset").value = True
    Else
        CheckBoxes("Reset").value = False
    End If
  End If
End Sub
当您更改“设备”中的“B2”单元值时,复选框将被选中。如果在其他内容中更改其值,则复选框将被取消选中


为了复制该工作表模块中的代码,请激活工作表“rest”,右键单击工作表名称,选择“查看代码”,然后在打开的窗口中复制上述代码…

如果复选框位于错误的工作表上,我会知道。是的,工作正常,我再次感谢您的帮助。。但请原谅,我还有另一个问题。。如果我需要从另一张表中调用单元格值B2,我可以做什么do@Mostafa纳比尔:恐怕我不明白你的意思。。。您的意思是在“B2”中有一个公式,可以通过在另一页中修改来更改它吗?如果是,则此类单元格值的更改将触发
工作表\u计算事件。请问“回忆单元格值”是什么意思?但是在我的国家已经很晚了,几分钟后我将关闭我的笔记本电脑…你可以在工作表的代码模块中复制相同的事件来监控范围,但必须完全限定textbox对象。我的意思是更换
复选框(“重置”)
wirh
工作表(“rest”)。复选框(“重置”)
。谢谢@faneduru它在另一张新工作表中工作,因为当前工作表有问题,再次感谢