2012-07-18 60 views
6

我的客户正在收到编译错误;在他的Excel 2010版本中无法找到项目或库,但是我没有在2010版的版本中找到它。我如何调整此代码使其不会出现。当错误在下面的代码将出现在文本中的“细胞”,“对于所选的每一个细胞”被突出显示:我收到'编译错误:找不到项目或库'在一些Excel 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` 

我的客户也报告了字“响应”下面的代码中的错误被突出。这对我来说也不是问题,在我的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 
+0

您正在使用'Response'来保存一个长变量,所以这不应该引发错误(除非'Response'可能是库引用的对象模型的一部分 - 猜测)。我会使用'lngResponse'作为名字,并且将其标注为长。 – brettdj 2012-07-18 03:22:36

+2

这可能是相同的: http://stackoverflow.com/questions/507191/cant-find-project-or-library-for-standard-vba-functions – Smandoli 2012-07-18 04:06:38

+0

好吧,我会给那个尝试。由于在我的机器上,所有这些选项都可以正常工作,所以我必须等待客户的反馈,这有点令人沮丧。再次感谢 – ExcelForFreelancers 2012-07-18 04:08:27

回答

9

在VBA窗口,去Tools --> References并确保同一库切换上的所有计算机。还要确保所有活动库从顶部到底部的顺序相同。

许多图书馆“来标准”,但可能需要切换。或者,由于功能性干扰,库参考可能需要切换off。一个图书馆可能完全缺失,但我怀疑是这种情况,因为它是一个相当标准的套件,而且你不知道它已经被修改过了。

这是一个典型的问题,通常不会给您的分销客户带来太大的负担。如果是这样,您可以重新编写代码以使用更少的引用;或者你可能能够load the needed libraries programmatically(但我从未尝试过)。

我建议你在所有模块的顶部包含Option Explicit。这个问题看起来有点像未能声明你的变量;我认为这个要求可能因设定而异。 Option Explicit将强制声明所有变量,这在一般情况下是有益的,并且可能导致所有客户端安装行为相同。

+0

好吧,我意识到这一点,但我实际上希望我的代码有问题,所以我不必要求我的客户这样做。根据你的回答,我会继续请你按照你的建议检查他的VBA库。 (我希望这是一种罕见的情况,因为这个应用程序将被广泛分发)谢谢你的快速重新映射 – ExcelForFreelancers 2012-07-18 02:58:45

+0

@raphuket图书馆应该自动** ** - 即问题是他们从机器丢失,而不是不翻转 – brettdj 2012-07-18 03:11:28

+0

@brettdj嗯,好的。显然,我是VBA的新手,我只是向我的客户发送了一封电子邮件,附带说明,以检查这一点。如果他的图书馆“失踪”,那么我猜测只需要重新安装excel?或者这是'缺少的图书馆',他可以安装,或者我可以发送给他?对所有问题抱歉,但如果这是其他客户的普遍问题,我将不得不寻找解决办法。 – ExcelForFreelancers 2012-07-18 03:15:46

相关问题