自动化错误 - 灾难性故障EXCEL VBA

时间:2015-08-08 02:00:00

标签: excel vba excel-vba

我有一个工作簿,它会在打开时抛出此错误。当它打开VBA模块时,当前行是sub的定义。但唯一的选择是终止整个Excel流程。

我有自定义文档属性,我有嵌入式组合框控件,我不知道它可能是什么,而Excel没有帮助。

但是,当我在另一台计算机上打开相同的文件时 - 它不会抛出错误。

有没有人对此类错误有任何经验或建议?

这是Open代码,但发生错误时,'Show Next Statement'命令不会指向此处:

````

Private Sub Workbook_Open()
    Dim ans


    If Range("currentstatus") Like "*Ready for Year-End Preparation*" Then
        ans = MsgBox("This workbook is ready for Year-End Preparation" & vbCrLf & "Would you like to begin?", vbYesNo)

        If ans = vbYes Then
            Range("Phase") = "Year-End"
            SheetsSet 3
        End If
    End If

    'Exit Sub

    If Range("Phase") = "Commissions" Then

        If Range("currentstatus") Like "*RVP/Dept Head Approved*" Then
            ans = MsgBox("Commissions have been approved for " & Range("applicablemonth") & vbCrLf & "Would you like to enter data for the new period?", vbYesNo + vbQuestion)
            If ans = vbYes Then


                Range("ApplicableMonth") = Format(DateAdd("m", 1, CVDate(Range("applicablemonth"))), "YYYY-MM")
                Range("CurrentStatus") = "Ready for Data Entry for " & Range("ApplicableMonth")

                ' now reset the summary page
                Prot False, "Commission Form Summary"
                Range("SalesPersonComplete") = Range("Summary")
                Range("RVPComplete") = ""
                Range("BrMgrComplete") = ""
                Prot True, "Commission Form Summary"

                Sheets("Menu").Select
                '                MsgBox "Begin."
            End If
        End If


    End If

End Sub

2 个答案:

答案 0 :(得分:2)

我今天早些时候收到此消息,这是由于另一个Excel实例作为后台进程打开(后台进程以前打开了有问题的文件,因此它必须与之相关)。一旦我关闭了另一个实例,问题就消失了。

值得检查'任务管理器'> '背景流程',看看是否是这种情况。

答案 1 :(得分:-1)

仔细检查您的文件扩展名。嵌入了宏的Excel电子表格需要* .xlsm扩展名,而不是* .xls。

总计'假人'的答案,但我自己就犯了这个错误。