通过macros在数据透视表中插入数据

其目的是dynamic地将页面INPUT的完整数据范围复制到页面OUTPUT上的数据透视表Table16 – 在标题NAME下的第一个单元格中。

数据透视表(某种模板)中的一个小备注包含更多的列,然后是我想要复制的3个列。

 Sub SelectCopy() ' ' SelectCopy Macro ' ' the intention is to copy dynamically the complete range of data - on page INPUT ' to the pivot table Table16 on OUTPUT page - in the first cel under the title NAME Range_cels = Sheets("info").Range("M4").Value ThisWorkbook.Sheets("input").Select Range(Range_cels).Select Selection.Copy MsgBox "The data has been successfully copied." ThisWorkbook.Sheets("output").Select '1/ 'table16 is a pivot table, wanted select the first cell beneath the title row ' complains about 'ActiveSheet.Paste' failure ActiveCell.Offset(0, 0).Range("Table16[[#Headers],[Name]]").Select '2/ - works fine but puts it in the last selected cell 'ActiveCell.Offset(rowOffset:=0, columnOffset:=0).Activate '3/ - fails complains it is in pivot table 'Range("A2").Select MsgBox "almost ... pasted." ActiveSheet.Paste MsgBox "The data has been successfully pasted." MsgBox "The data has been successfully copied & pasted." End Sub 

在这里输入图像说明

方法1:

 ActiveCell.Offset(0, 0).Range("Table16[[#Headers],[Name]]").Select 

给出错误1004:

在这里输入图像说明

这是数据透视表:

在这里输入图像说明