8

我的客户收到编译错误;在他的 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`

我的客户还报告了以下代码中的错误,其中突出显示了“响应”一词。在我的 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
4

1 回答 1

9

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

许多库“成为标准”,但可能需要打开一个。或者,由于功能干扰,可能需要关闭库引用。一个库可能完全丢失了,但我怀疑情况是否如此,因为它是一个相当标准的套件,你不知道已经修改过它。

这是一个典型的问题,通常不会被认为对您的分销客户造成太大的负担。如果是,您可以重新编写代码以使用更少的引用;或者您可以以编程方式加载所需的库(但我从未尝试过)。

我建议您将其包含Option Explicit在所有模块的顶部。这个问题看起来有点像你的变量声明失败;而且我认为该要求可能因设置而异。 Option Explicit将强制声明所有变量,这通常是有益的,并且可能导致所有客户端安装行为相同。

于 2012-07-18T02:36:14.537 回答