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它在另一张新工作表中工作,因为当前工作表有问题,再次感谢