Excel vba-将工作表传递给公共函数

Excel vba-将工作表传递给公共函数,vba,excel,Vba,Excel,我有一个公共职能: 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) 调用测试时出现“ByRef参数类型不匹配”错误。使用Set关键字,如下所示: set ws = ThisWorkbook

我有一个公共职能:

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)

调用测试时出现“ByRef参数类型不匹配”错误。

使用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

是的,我的密码里有。我忘了写下来。不是that@user155754-查看编辑,您可能没有设置函数的返回。