Pao*_*oni 20 checkbox excel vba excel-vba-mac
我正在尝试使用IF子句来确定是否选中了名为"Check Box 1"的复选框,以便在我的程序中进一步使用.
我目前的代码:
Sub Button167_Click()
If ActiveSheet.Shapes("Check Box 1") = True Then
Range("Y12").Value = 1
Else
Range("Y12").Value = 0
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,但调试告诉我有一个问题
ActiveSheet.Shapes("Check Box 1")
Run Code Online (Sandbox Code Playgroud)
但是,我知道这段代码有效(即使它有不同的用途):
ActiveSheet.Shapes("Check Box 1").Select
With Selection
.Value = xlOn
Run Code Online (Sandbox Code Playgroud)
编辑:如果需要更多信息,我的复选框(我的页面上有200个)位于sheet1中,名称为"Demande".每个Checkbox都具有相同的格式名称"Check Box ...".
所有帮助将不胜感激.谢谢
Mot*_*tes 24
Sub Button167_Click()
If ThisWorkbook.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value = 1 Then
Range("Y12").Value = 1
Else
Range("Y12").Value = 0
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
检查1,未选中-4146,混合2(灰色框)
Sid*_*out 10
这是你在尝试什么?
Sub Sample()
Dim cb As Shape
Set cb = ActiveSheet.Shapes("Check Box 1")
If cb.OLEFormat.Object.Value = 1 Then
MsgBox "Checkbox is Checked"
Else
MsgBox "Checkbox is not Checked"
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
替换Activesheet为相关的工作表名称.也请替换Check Box 1相关的复选框名称.
在ActiveX复选框控件的 VBA 宏代码中,您可以使用
If ActiveSheet.OLEObjects("CheckBox1").Object.Value = True Then
Run Code Online (Sandbox Code Playgroud)
对于表单复选框控件,您可以使用
If ActiveSheet.Shapes("CheckBox1").OLEFormat.Object.Value = xlOn Then
Run Code Online (Sandbox Code Playgroud)
(使用xlOff或xlMixed来检查这些各自的状态。)