除了在生成运行时错误9的某些计算机上,VBA函数才有效

时间:2017-02-03 19:51:39

标签: excel vba excel-vba

我正在创建一个包含多个函数的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

任何想法?这对我来说很奇怪......

0 个答案:

没有答案