插入剪切单元格并粘贴特殊值

我正在试图将我的数据透视表的值复制到工作表中。 我想创build一个模板,所以数据透视表的大小会有所不同,我有更多的电子表格下需要粘贴这些值。

我已经想出了如何(一)通过macros插入剪切单元格或(b)粘贴特殊(值),但我不知道如何粘贴特殊(值)和插入(即创build额外的行)。

我目前正在使用一个简单的:

Sub CutPasteGainLossSales() Range("D3").Select ActiveSheet.PivotTables("PivotTable4").PivotSelect "", xlDataAndLabel, True Selection.Copy Sheets("SchA").Select Range("B12").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 

要么

  Sub testcutpastespecialinsert() ActiveSheet.PivotTables("Principal Amounts Received").PivotSelect "", _ xlDataAndLabel, True Selection.Copy Sheets("SchA").Select Range("B5").Select Selection.Insert Shift:=xlDown End Sub 

有什么方法可以把这两个结合起来? 或者有没有其他的select?

尝试这个。 你不能剪切和粘贴值,所以你可以清除原来的单元格,如果你不想要它们。 我认为这是Select不可能避免的罕见场合之一(肯定邀请我被certificate是错误的…)

 Sub testcutpastespecialinsert() Dim p As PivotTable Set p = ActiveSheet.PivotTables("Principal Amounts Received") p.PivotSelect "", xlDataAndLabel, True Selection.Copy With Sheets("SchA").Range("B5") .Insert Shift:=xlDown .PasteSpecial Paste:=xlPasteValues End With 'these two lines clear the original table p.PivotSelect "", xlDataAndLabel, True Selection.Clear End Sub 

所以,我似乎解决了我自己的问题。 我使用了一些@SJR的代码,然后用一种不同的方式(见上面的代码问题)。 我的解决scheme是:从一个工作表中复制我需要的数据透视表,将其插入到摘要页面(将要插入的位置下方的任何数据),清除插入(保留插入提供的空间),然后再次复制另一个数据透视表并将其粘贴到由原始复制/插入剪切单元提供的空间中。

 Sub cutpastespecialinsert() Dim p As PivotTable Set p = Sheets("SchAPivots").PivotTables("Principal Amounts Received") p.PivotSelect "", xlDataAndLabel, True Selection.Copy With Sheets("SchA").Range("B6") .Insert Shift:=xlDown Sheets("SchA").Select Range("B6").Select ActiveSheet.PivotTables(ActiveCell.PivotTable.Name).PivotSelect "", _ xlDataAndLabel, True Selection.Clear End With Sheets("SchAPivots").Select Range("A2").Select ActiveSheet.PivotTables("Principal Amounts Received").PivotSelect "", _ xlDataAndLabel, True Selection.Copy Sheets("SchA").Select Range("B6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 

我目前也正在通过计算数据透视表中的行数然后插入该数量的行来完成这项工作。