从.xla运行用户窗体时,下标超出范围错误

时间:2015-04-17 13:50:45

标签: excel vba excel-vba

我最近使用.vba for Excel 2010完成了一个程序。它包含两个用于数据输入的用户表单,并且在我执行的所有错误测试中完美运行。但是,当我将程序用作加载项时,我无法以任何方式运行任何用户表单。我已将userform .show例程映射到宏并尝试直接打开它,两者都给出了相同的错误。

  • 已保存的程序为.xla
  • 加载.xla作为加载项(在同一台计算机上)
  • 关闭Excel并重新打开
  • 创建新的Excel工作簿
  • 在.xla文件中打开项目查看器和所选用户窗体
  • 按下F5

结果: 运行时错误' 9':下标超出范围

有问题的用户形式是 UformDataEntry

有问题的宏是 Start_Data_Entry

以下代码位于宏中:

Sub Start_Data_Entry()
'Display DataEntry UserForm
    UformDataEntry.Show Modal
End Sub

以下代码位于 ThisWorkbook 对象:

Option Explicit

Dim cControl As CommandBarButton

Private Sub Workbook_AddinInstall()

On Error Resume Next 'Just in case
    'Delete any existing menu item that may have been left.
    Application.CommandBars("Worksheet Menu Bar").Controls("ICD10").Delete
    'Add the new menu item and Set a CommandBarButton Variable to it
    Set cControl = Application.CommandBars("Worksheet Menu Bar").Controls.Add
    'Work with the Variable
        With cControl
            .Caption = "ICD10"
            .Style = msoButtonCaption
            .OnAction = "Start_Data_Entry"
            'Macro stored in a Standard Module
        End With
On Error GoTo 0
End Sub

Private Sub Workbook_AddinUninstall()

On Error Resume Next 'In case it has already gone.
    Application.CommandBars("Worksheet Menu Bar").Controls("ICD10").Delete
On Error GoTo 0
End Sub

0 个答案:

没有答案