仅在某些计算机上填充VBA ActiveX组合框时出现错误438

时间:2015-02-05 22:37:18

标签: excel vba combobox activex

我创建了一个带有ActiveX组合框控件的工作簿,这些控件通过worksheet_activate()代码填充:

Private Sub Worksheet_Activate()    
   With ActiveSheet.cmboBox1
        .Clear
        .AddItem "Item 1"
        .AddItem "Item 2"
        .AddItem "etc..."
        .Text = "Select... "
        .Width = 222
        .Height = 19
        .Left = 0
        .Top = 0
    End With
End Sub

这在我的电脑上运行正常。但是,当我尝试在同事的计算机上打开电子表格时,他们收到错误438,调试突出显示该行:

With ActiveSheet.cmboBox1

我比较了Excel版本,我们运行的版本完全相同。

我们拥有相同的ActiveX信任中心设置。 我创建了一个空白工作表,只有一个ActiveX组合框,同样的事情发生。

我已尝试直接指定工作表而不是使用ActiveSheet,但问题仍然存在。

我离我的代码太近了,然后这个!提前谢谢。

1 个答案:

答案 0 :(得分:0)

我终于确定了问题的原因。 再一次,它是由Microsoft安全更新引起的(以某种方式安装在同事的计算机而不是我的计算机上)。请参阅http://support.microsoft.com/kb/3025036

在运行该知识库文章中的补丁后,它再次起作用。