在电子表格中使用activex复选框控件

时间:2015-01-02 08:50:44

标签: excel vba excel-vba activex

我正在使用Excel 2013.我有一个excel工作簿。工作簿在工作表“图表”中包含activex复选框控件。该控件称为chkAll。打开工作簿时,会应用一些默认设置,其中一个是选中此复选框。下面的代码行是我正在使用的。

 Sheets("charts").chkAll.value = true

这在过去的几个月里有效,但今天已经不再有效了。获取错误消息“对象不支持此属性或方法”。

当我手动尝试从ActiveX控件部分向电子表格添加复选框时,我收到一条错误消息,提示我“无法插入对象”。

不确定为什么现在会发生这些错误?

2 个答案:

答案 0 :(得分:3)

这是由Microsoft更新阻止ActiveX控件在Excel工作簿中运行引起的。关闭所有办公室程序,然后导航到:

C:\ Users \ [用户名] \ AppData \本地\ TEMP \ Excel8.0

并删除 MSForms.exd 文件将解决此问题。

这是一个临时文件,将在您再次启动Excel时重新创建,因此不必担心删除它。

答案 1 :(得分:0)

试试这个(对于工作表中的ActiveX控件):

ThisWorkbook.Sheets("charts").Shapes("chkAll").OLEFormat.Object.Value = 1 '= true // for false the value is -4146.

此外,对于工作表内的表单复选框,请使用:

ThisWorkbook.Sheets("charts").Shapes("chkAll").ControlFormat.Value = 1 '= true // for false the value is 0.