在工作表之间复制数据

我在Excel中的不同工作表中有多个数据透视表(每个工作表1个)。 我想将它们全部复制到一个新的工作表中,但是我希望它们在每个之间有两排间隔的情况下在另一个之下。

我有代码从一个工作表复制到另一个工作表的表,但我不知道如何将其他复制到同一个工作表,而不粘贴到以前的表….

'Copy table 1 Sheet1.PivotTables(1).TableRange2.Copy With Sheet7.Range(Sheet1.PivotTables(1).TableRange2.Address) .PasteSpecial xlPasteValuesAndNumberFormats .PasteSpecial xlPasteColumnWidths End With Application.CutCopyMode = False 

每个数据透视表在高度(和宽度)上都可以是dynamic的,所以后续表的偏移将取决于前一个表的大小。

有没有人有任何想法如何实现这一点?

 Sub CopyPT() Dim rngDest As Range Dim sht As Worksheet, tr As Range Set rngDest = Sheet7.Range("B2") For Each sht In ThisWorkbook.Worksheets If sht.Name <> Sheet7.Name Then If sht.PivotTables.Count = 1 Then Set tr = sht.PivotTables(1).TableRange2 'Debug.Print sht.Name, tr.Rows.Count tr.Copy With rngDest .PasteSpecial xlPasteValuesAndNumberFormats .PasteSpecial xlPasteColumnWidths End With Set rngDest = rngDest.Offset(tr.Rows.Count + 2, 0) End If End If Next sht Application.CutCopyMode = False End Sub