在 Excel VBA 中精确复制具有范围输入和输出的工作表函数

在 Excel VBA 中精确复制具有范围输入和输出的工作表函数

例如,我尝试在 Excel VBA 中复制 UNIQUE 函数(见下文)。

但是当分配“结果”时,它给了我错误“运行时错误‘91’:未设置对象变量或 With 块变量”。

Function UniqueVals(list_of_vals As Range)

Dim result As Range
result = Application.WorksheetFunction.Unique(list_of_vals)
UniqueVals = result

End Function

答案1

函数的返回类型不应该是 Range,请使用Variant

Function UniqueVals(list_of_vals As Range) As Variant

Dim result As Variant
result = Application.WorksheetFunction.Unique(list_of_vals)
UniqueVals = result

End Function

在此处输入图片描述

相关内容