我在我的一个工作表模块中声明了一个公共函数:
Public Function isValidContract(contract As String) As Boolean
' Code reads cell values from the worksheet and determines
' if passed-in contract is one of them.
End Function
我希望能够从其他模块和类模块访问它。我尝试了以下方法:
Public Sub someRandomSubInAntoherModule()
Dim contract As String
Dim sh as Worksheet
' Code that sets contract
Set sh = Sheets("Matrix")
If Not sh.isValidContract(contract) Then
' blah
End If
End Sub
但是我得到一个编译错误:“找不到方法或数据成员”,可能是因为我声明sh
为Worksheet对象,而Worksheet对象没有isValidContract()
方法。但我想使用矩阵isValidContract()
工作表中定义的方法。
我可以让它工作的唯一方法是声明sh
为Object。但是当我键入时,我没有得到漂亮的小代码提示
sh.
有什么方法可以确定尺寸sh
以便我获得 Worksheet 对象的代码提示和我的特定矩阵代码?