Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 从二维数组创建透视表_Arrays_Excel_Vba_Pivot Table - Fatal编程技术网

Arrays 从二维数组创建透视表

Arrays 从二维数组创建透视表,arrays,excel,vba,pivot-table,Arrays,Excel,Vba,Pivot Table,我正试图基于存储在2D变量数组中的值构建一个透视表。大概是这样的: Function createPivot(dataRng As Variant) As PivotTable Dim wb As Workbook Dim rngDates As Range Dim pv As PivotTable Dim SrcData As String, StartPvt As String Dim pvtTableName As String Dim sh

我正试图基于存储在2D变量数组中的值构建一个透视表。大概是这样的:

Function createPivot(dataRng As Variant) As PivotTable
    Dim wb As Workbook
    Dim rngDates As Range
    Dim pv As PivotTable
    Dim SrcData As String, StartPvt As String
    Dim pvtTableName As String
    Dim sh As Worksheet
    
    Sheets(pvSheet).Cells.Clear
    Set sh = ThisWorkbook.Sheets(pvSheet)
    
    Set wb = Workbooks.Open(WBPATH)
    
    pvtTableName = "mytablename"
    
    SrcData = dataRng ' HERE!
    
    StartPvt = sh.Name & "!" & sh.Range("A1").Address(ReferenceStyle:=xlR1C1) 'Cells(4, lastCol).Address(ReferenceStyle:=xlR1C1)
    
    'Next line crashes:
    ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        SrcData, Version:=6). _
        CreatePivotTable TableDestination:=StartPvt, TableName:=pvtTableName, _
        DefaultVersion:=`

[etc...]

    createPivot = pv
end function

有没有一种方法可以从变量创建透视表?

将数组放在一个隐藏的表中并使用它?是的,我试图避免这样做,这样我就不会得到一个巨大的文件大小,但我看不到任何解决方法。数据透视表似乎必须与工作表范围链接