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

Error 438 when populating VBA ActiveX combobox only on some computers

我创建了一个工作簿,其中包含通过 worksheet_activate() 代码填充的 ActiveX 组合框控件:

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,但问题仍然存在。

我差点就要使用我的代码,然后是这个!提前致谢。

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

在 运行 那个知识库文章的补丁之后,一切都再次起作用了。