我的客户遇到编译错误;在他的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
,并确保为所有计算机打开相同的库。另外,请确保所有 Activity 库的自上而下顺序相同。
许多库“成为标准”,但可能需要启用其中一个。或者,由于功能干扰,可能需要关闭库引用。一个库可能会完全丢失,但是我怀疑是这种情况,因为它是一个相当标准的套件,并且您还不知道要修改它。
这是一个典型的问题,通常不会给您的发行客户带来太大的负担。如果是这样,则可以重新编写代码以使用更少的引用;或者您也许可以load the needed libraries programmatically(但我从未尝试过)。
我建议您在所有模块的顶部包括Option Explicit
。这个问题看起来有点像声明变量失败。而且我认为要求可能会因设置而异。 Option Explicit
将强制声明所有变量,这通常是有益的,并且可能导致所有客户端安装都执行相同的操作。