Excel VBA – 将工作表传递给公共函数

我有一个公共职能:

Public Function Test(wrs As Worksheet, arr As Variant) As Variant 

我有主分:

 Sub Main() Dim ws as Worksheet Dim out, in ws = ThisWorkbook.Sheets("Sheet1") out = Test (ws, in) 

调用testing我得到“ByRef参数types不匹配”的错误。

像这样使用Set关键字:

 set ws = ThisWorkbook.Sheets("Sheet1") 

编辑:

然后确保你设置了函数的返回值。 喜欢这个:

 Public Function Test() As Variant Set Test = ActiveSheet End Function Public Sub TestMe() Debug.Print Test.name End Sub