我有一个工作簿,它会在打开时抛出此错误。当它打开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
答案 0 :(得分:2)
我今天早些时候收到此消息,这是由于另一个Excel实例作为后台进程打开(后台进程以前打开了有问题的文件,因此它必须与之相关)。一旦我关闭了另一个实例,问题就消失了。
值得检查'任务管理器'> '背景流程',看看是否是这种情况。
答案 1 :(得分:-1)
仔细检查您的文件扩展名。嵌入了宏的Excel电子表格需要* .xlsm扩展名,而不是* .xls。
总计'假人'的答案,但我自己就犯了这个错误。