首页 > 解决方案 > 将数据透视表总计复制到下一个空单元格

问题描述

因此,我有一个位于 N、O 列的数据透视表,其中包含总计行,我想将该总计复制到“R”列中列表中的下一个空单元格。我找到了一个可以将总计复制到一个单元格的代码,但我无法将其复制到下一个空单元格中。

Dim rngPvt As Range, sht As Worksheet, valToFind$, gtv
Set sht = Sheets("Sheet1")
Set rngPvt = sht.PivotTables("1").RowRange
valToFind = sht.PivotTables("1").GrandTotalName
Set gtv = rngPvt.Find(valToFind, , xlFormulas)
'assumes value to the right of field name
Sheets("Sheet1").Cells(LastRow, 18).PasteSpecial xlPasteValues = gtv.Offset(, 1)

标签: excelvbapivot-table

解决方案


尝试这个 ..

Sub test()

Dim wb As Workbook
Set wb = ThisWorkbook
Dim sh As Worksheet
Set sh = wb.Sheets("Sheet1")
Dim pt As PivotTable
Set pt = sh.PivotTables("PivotTable1")
Dim FinalPvtGT As Range
Set FinalPvtGT = pt.TableRange1(pt.TableRange1.Rows.Count, _
                            pt.TableRange1.Columns.Count)
Dim targetCell As Range
Set targetCell = FinalPvtGT.Offset(, 3)

targetCell = FinalPvtGT

End Sub

您是否期望在 R 列的最后一个填充单元格之后出现它?如果是这样,则替换以下行

Set targetCell = FinalPvtGT.Offset(, 3)

Set targetCell = Range("R" & sh.Rows.Count).End(xlUp).Offset(1, 0)

推荐阅读