我得到“编译错误:找不到项目或库”在一些Excel 2010版本中。 很难testing这个

我的客户正在收到编译错误; 无法find他的Excel 2010版本上的项目或图书馆,但我没有得到2010年的版本。我怎样才能调整这个代码,所以它不会出现。 当错误出现在下面的代码中时,“选中每个单元格”中的文本“单元格”高亮显示:

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$9" Then Columns("D:CB").Select Selection.EntireColumn.Hidden = False Application.ScreenUpdating = False Sheet17.Range("E48:CB48").Select For Each cell In Selection If cell = 0 Then Range(cell.Address).EntireColumn.Hidden = True End If Next Application.ScreenUpdating = True Sheet17.Range("b9").Select End If End Sub` 

我的客户还在下面的代码中报告了一个错误,其中“Response”字样被突出显示。 这对我来说也不是问题,在我的Excel 2010版本中,任何和所有的帮助都是非常感谢的。

 If Sheet1.Range("E18") = 3 Then Response = MsgBox("Reminder Emails have been set to be sent automatically at " & Sheet1.Range("f18").Value & ", " & Sheet1.Range("Q4").Value & " day(s) before" & vbCrLf & "the scheduled appointment. Do you want to send reminder e-mails now anyway?", vbYesNo) If Response = vbNo Then Exit Sub End If End If 

在VBA窗口中,转到Tools --> References并确保为所有计算机打开相同的库。 还要确保所有活动的库从上到下都是相同的顺序。

许多图书馆“来标准”,但可能需要被打开。 或者,由于function干扰,可能需要切换库参考。 一个图书馆可能完全缺失,但我怀疑是这种情况,因为它是一个相当标准的套件,你不知道有修补它。

这是一个典型的问题,通常不会给您的分销客户带来太大的负担。 如果是的话,你可以重写你的代码来使用更less的引用; 或者你可能能够以编程方式加载所需的库 (但我从来没有尝试过)。

我build议你在所有模块的顶部joinOption Explicit 。 这个问题看起来有点像没有声明你的variables。 我认为这个要求可能因设定而异。 Option Explicit将强制声明所有的variables,这一般是有益的,并可能导致所有的客户端安装行为相同。