2012-05-02 15 views
3

ピボットテーブル形式を新しいシートにコピーするのに問題があります。基本的に私がやろうとしていることはこれです:ピボットテーブル形式をコピーする

someRange.Copy 
someOtherRange.pasteSpecial xlPasteValues 
someOtherRange.pasteSpecial xlPasteFormats 

は基本的に、私は新しいシートにピボットテーブルの上に現在のビューの正確なコピーをしたいんだけど、値をしたいと書式設定(および接続されていませんピボットテーブルへの移動)。手作業でこの手順を実行すると正しい結果が得られますが、何らかの理由でvbaを使用して同じアプローチを使用したときに書式設定がコピーされません。

更新:要求として 正確なコードは:

Application.CutCopyMode = False 
pivotSheet.Range(pivotSheet.usedRange.Cells(1, 2), pivotSheet.Cells(pivotSheet.usedRange.Rows.Count, pivotSheet.Columns.Count)).Copy 
updatesSheet.Range(updatesSheet.Cells(1, 1), updatesSheet.Cells(pivotSheet.usedRange.Rows.Count, pivotSheet.usedRange.Columns.Count)).PasteSpecial xlPasteValues 
updatesSheet.Range(updatesSheet.Cells(1, 1), updatesSheet.Cells(pivotSheet.usedRange.Rows.Count, pivotSheet.usedRange.Columns.Count)).PasteSpecial xlPasteFormats 
Application.CutCopyMode = False 
+0

'pastSpecial'はそれがちょうどタイプミスでしたが、あなたが...、その – Marc

+0

本当のないスペルする方法ではありません実際の問題しかし、ありがとう。 – Billy

+0

こんにちは、私は同じ問題を自分自身に持っています。どんな助けもありがたいです –

答えて

2

は実証済み

Option Explicit 

Sub Sample() 
    With Sheets("Sheet1") 
     .Range("H1:I6").Copy 

     With .Range("M7") 
      .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
      :=False, Transpose:=False 

      .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
      SkipBlanks:=False, Transpose:=False 
     End With 
    End With 
End Sub 

SNAPSHOT

enter image description here

+0

ありがとう、Siddharth。これは私が試したのと同じ解決策ですが、何らかの理由で私はフォーマットを取得していません。なぜ私は知っていればいいと思っています...私はちょうどコードでそれを難し​​い方法でフォーマットすると思います.... – Billy

+0

あなたが使っている 'exact'コードを私たちに教えてください。 –

+0

上記の更新を参照してください...病気は答えを受け入れる、私はこれが何であるべきかに同意します*。私はちょうどそれが実際に私のマシン上でこれをやっていないと言っている... – Billy

0

コピーし、手動で貼り付ける前に、マクロの記録を開始します。終了したら、録音を停止して録音したコードを調べます。あなたは削除できる余分なものを手に入れますが、やっていることを実行するための正しい構文も得られます。

+0

すでにこれを試しました。それが私が上記のコードを考え出した方法です。私が手で(そして録音して)それを行うと、結果は正しい。しかし、実際にマクロを実行するときには、値はフォーマットではなくコピーされます。しかし、ありがとう。 – Billy

+0

@Billy:ちょうどそれを試して、それは動作します:) –

+0

ハハと私はあなたのマシン上にあると確信しています。私はそれが私の上にないと言っているだけです。あなたはそれを信じなければならない;) – Billy

関連する問題