Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Vba 单击复选框关闭一张图纸上的计算_Vba_Excel - Fatal编程技术网

Vba 单击复选框关闭一张图纸上的计算

Vba 单击复选框关闭一张图纸上的计算,vba,excel,Vba,Excel,所需对象 代码中的CheckBox9值行出错。我想在用户编辑各个工作表时关闭工作簿中单个工作表的计算 我似乎不知道我的错误在哪里。谢谢你的帮助 Sub StopCalc() If CheckBox9.Value = True Then Sheets("Sheet1").EnableCalculation = False Else Sheets("Sheet1").EnableCalculation = True End If End Sub 将整个If语句替

所需对象

代码中的CheckBox9值行出错。我想在用户编辑各个工作表时关闭工作簿中单个工作表的计算

我似乎不知道我的错误在哪里。谢谢你的帮助

Sub StopCalc()

If CheckBox9.Value = True Then
   Sheets("Sheet1").EnableCalculation = False
    Else
     Sheets("Sheet1").EnableCalculation = True
   End If

 End Sub

将整个
If
语句替换为:

Sheets("Sheet1").EnableCalculation = Not (Sheets("Sheet1").CheckBox9)

确认复选框的名称:


将整个
If
语句替换为:

Sheets("Sheet1").EnableCalculation = Not (Sheets("Sheet1").CheckBox9)

确认复选框的名称:

查看是否需要在工作表上查找ActiveX或表单控件

从工作表的
Shapes
集合中获取您的复选框,正如上面的评论线程中所讨论的:

Sheets("Sheet1").EnableCalculation = _
    Not (ActiveSheet.Shapes("Check Box 9").ControlFormat.Value)
查看是否需要在工作表上查找ActiveX或表单控件

从工作表的
Shapes
集合中获取您的复选框,正如上面的评论线程中所讨论的:

Sheets("Sheet1").EnableCalculation = _
    Not (ActiveSheet.Shapes("Check Box 9").ControlFormat.Value)

CheckBox9
-ActiveX复选框还是表单?如果您的复选框是表单控件(我建议,如果您不需要ActiveX功能),那么您的复选框应该是
If-ActiveSheet.Shapes(“复选框9”).ControlFormat.Value=1
@FernandoJ.Rivera不需要
If
语句,两个分支都指定了一个相反的布尔值。这可以是一行。e、 g.假设
.Value
是一个
布尔值
表单(“Sheet1”).enableColution=ActiveSheet.Shapes(“复选框9”).ControlFormat.Value
@Mat'sMug ActiveX是布尔值,很遗憾表单不是布尔值(我想,没有真正选中。我知道“选中”返回1而不是“True”)。然后指定一个布尔表达式
=(ActiveSheet.Shapes(“复选框9”).ControlFormat.Value=1)
复选框9
-ActiveX复选框还是表单?如果您的复选框是表单控件(我建议,如果您不需要ActiveX功能,那么您的复选框应该是
如果ActiveSheet.Shapes(“复选框9”).ControlFormat.Value=1
@FernandoJ.Rivera不需要
语句,如果
语句,则两个分支都分配了一个相反的布尔值。这可以是一行。e、 g.假设
.Value
是一个
布尔值
表单(“Sheet1”).enableColution=ActiveSheet.Shapes(“复选框9”).ControlFormat.Value
@Mat'sMug ActiveX是布尔值,很遗憾表单不是布尔值(我想,没有真正选中。我知道“选中”返回1而不是“True”)。然后分配给布尔表达式
=(ActiveSheet.Shapes(“复选框9”)。ControlFormat.Value=1)
我现在收到一个错误,表示此功能不受对象支持。您确定该复选框名为
CheckBox9
?我现在收到一个错误,表示此功能不受对象支持。您确定该复选框名为
CheckBox9