我正在创建一个包含多个函数的excel文档,这些函数在打开,关闭或整个电子表格中执行。我已经在~15台计算机上测试了该文档,其中12台代码工作正常。在代码不起作用的三台计算机上,在每个函数的第一个可执行行(在子定义和Dim之后)产生运行时错误9。
因为分析代码是浪费时间,所以我只发布打开和关闭函数。要查看是否有人注意到一些常见问题(每当三台计算机中的一台打开或关闭文件时都会发出运行时错误。)
我有两个相同的文件,一个是.xlsm,另一个是.xls两个在同一台计算机上给出相同的错误代码。
以下VBA代码位于ThisWorkbook部分
'Open to first page, clear values, select "Part Number" in dropdown
Private Sub Workbook_Open()
Dim ThisWS As Worksheet
Dim ThisWB As Workbook
Set ThisWB = Workbooks("CombinationIndex")
Set ThisWS = ThisWB.Worksheets("Index Search") 'selects the ws titled Index Search
ThisWS.Activate
'Sets the dropdown value to 'Part Number'
ThisWS.DropDowns("Drop Down 36").Value = 1
'Clears everything
ThisWS.Cells(1, 26).ClearContents
ThisWS.Columns("C:C").ClearContents
ThisWS.Range("B10:F250").ClearContents
ThisWS.Range("B10:F250").ClearFormats
'colors lines white
ThisWS.Range("B10:F250").Borders.Color = ThisWorkbook.Colors(2)
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Workbooks("CombinationIndex").Close SaveChanges:=False
End Sub
据我所知,我的代码都不是很糟糕,每个人都在同一版本(2010)。然后当我点击“调试”时在错误选项上,它将指示我在第一个可执行行的错误的起源。
对于Workbook_Open子,代码错误:
Set ThisWB = Workbooks("CombinationIndex")
对于Workbook_BeforeClose子,代码错误:
Workbooks("CombinationIndex").Close SaveChanges:=False
任何想法?这对我来说很奇怪......