Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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 更新链接的复选框_Excel_Checkbox_Updating_Vba - Fatal编程技术网

Excel 更新链接的复选框

Excel 更新链接的复选框,excel,checkbox,updating,vba,Excel,Checkbox,Updating,Vba,我正在努力解决一个简单的问题。 我在第1页中有复选框,第2页中的复选框必须采用与第1页中相同的值(TRUE或FALSE)。 问题是,当我打开表2时,它们没有标记,但我必须用鼠标单击它们 我正在使用以下代码: Sheet2.chk_2A.Value = Sheet1.chk_1a.Value 我是否忘记了自动更新命令或类似命令?据我所知,如果将两个复选框链接到同一单元格,则此处不需要VBA代码。只需在格式控件…,控件,单元格链接:中将两个复选框分配给同一单元格即可。如果这不是一个选项,那么您必

我正在努力解决一个简单的问题。 我在第1页中有复选框,第2页中的复选框必须采用与第1页中相同的值(
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控件,我的代码可以工作,但复选框不会自动变为“真”或“假”。我必须选择它们,然后它们会正确更改。您是否禁用了
应用程序。屏幕更新
应用程序。计算
设置为手动?