将数据透视表传递给VBA中的函数ByRef错误
我有一个简单的function:
Function PtName(pt As PivotTable) PtName = pt.Name End Function
在即时窗口中input以下内容:
set pt = ActiveSheet.PivotTables(1) debug.Print PtName(pt)
我得到一个ByRef参数types不匹配错误。 当我这样做:
debug.Print typename(pt)
它返回PivotTable
我究竟做错了什么?
真的不知道你在这里做什么。
Sub Test() s = PtName(ActiveSheet.PivotTables(1)) ' Call function to assign pivottable name to variable "s" Debug.Print s End Sub Function PtName(pt As PivotTable) PtName = pt.Name End Function
返回:PivotTable1
你不需要这个function,你可以这样做。
Sub Test() s = ActiveSheet.PivotTables(1).Name Debug.Print s End Sub
这也返回:PivotTable1
另外,如果程序甚至没有运行,则不能在立即窗口中分配variables,并尝试在单独的代码行上引用它。