Excel 更新链接的复选框
我正在努力解决一个简单的问题。 我在第1页中有复选框,第2页中的复选框必须采用与第1页中相同的值(Excel 更新链接的复选框,excel,checkbox,updating,vba,Excel,Checkbox,Updating,Vba,我正在努力解决一个简单的问题。 我在第1页中有复选框,第2页中的复选框必须采用与第1页中相同的值(TRUE或FALSE)。 问题是,当我打开表2时,它们没有标记,但我必须用鼠标单击它们 我正在使用以下代码: Sheet2.chk_2A.Value = Sheet1.chk_1a.Value 我是否忘记了自动更新命令或类似命令?据我所知,如果将两个复选框链接到同一单元格,则此处不需要VBA代码。只需在格式控件…,控件,单元格链接:中将两个复选框分配给同一单元格即可。如果这不是一个选项,那么您必
TRUE
或FALSE
)。
问题是,当我打开表2时,它们没有标记,但我必须用鼠标单击它们
我正在使用以下代码:
Sheet2.chk_2A.Value = Sheet1.chk_1a.Value
我是否忘记了自动更新命令或类似命令?据我所知,如果将两个复选框链接到同一单元格,则此处不需要VBA代码。只需在
格式控件…
,控件
,单元格链接:
中将两个复选框分配给同一单元格即可。如果这不是一个选项,那么您必须将代码放入子对象中,并在单击时将此子对象指定给这些复选框
在这种情况下,您的代码取决于您是使用表单控件还是ActiveX控件。对于表单控件,您必须使用
Sheet2.Shapes("chk_2A").controlformat.value = Sheet1.Shapes("chk_1a").controlformat.value
对于ActiveX控件,如果复选框的名称正确,您的代码建议应该有效
Sheet2.chk_2A.value = Sheet1.chk_1a.value
在这两种情况下,我假设您使用了表单控件或ActiveX控件。如果使用一个表单控件和一个ActiveX控件,则必须相应地调整上述代码建议。下面的代码可以帮助您确定使用了什么
Public Sub AllShapes()
For Each ws In ActiveWorkbook.Worksheets
For Each shp In ws.Shapes
Debug.Print shp.Name
Select Case shp.Type
Case 8
Debug.Print "Form Control"
Case 12
Debug.Print "ActiveX Control"
Case Else
Debug.Print shp.Type
End Select
Next shp
Next ws
End Sub
这是什么语言?它似乎是Visual Basic for Excel。@MarkLeiber VBA Excel这是复选框单击事件中的代码吗?你把这段代码放在哪里了?复选框都是ActiveX控件,我的代码可以工作,但复选框不会自动变为“真”或“假”。我必须选择它们,然后它们会正确更改。您是否禁用了
应用程序。屏幕更新
或应用程序。计算
设置为手动?