人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのVBAでピボット結果を値のみ別シートにコピーする方法がわかりません。

.Cells.ClearContents 'コピー先のシートをクリアに
.Cells.Interior.ColorIndex = xlNone 'コピー先のシートの塗りつぶしなしに
Worksheets("ピボット結果").Cells.Copy 'ピボットの結果シートをコピー
.Range("A1").PasteSpecial Paste:=xlValue '値のみ貼り付け

この貼り付け時にピボットも連れてきてしまいます。
手作業で値のみ貼り付けをした場合は、ピボットは除外されます。
それならばと、手作業をマクロ記録して
同じVBAを書いて実行しても、その場合はピボットを連れてきてしまいます。

原因と対策を教えてください。

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 匿名回答1号

セルをコピーして 貼りつければ 当然 値以外の情報も持ってきてしまいます。

セルの値を 一度 変数に入れてから そのセルにセットしたらいいでしょう。


匿名質問者さんのコメント
すみません。 セルの値を変数に入れるというのは、配列などにするという意味でしょうか?

匿名回答1号さんのコメント
例 a=Worksheets("ピボット結果").cells(1,1) 別のシートで cells(1,1)=a という感じ。

匿名質問者さんのコメント
ありがとうございます。 現状はセルをコピーしてるということだったんですね。 参考になりました!!

匿名回答1号さんのコメント
xlValue '値のみ貼り付け これで 値のみでした。 肝心なのは Worksheets("ピボット結果").Cells.Copy 'ピボットの結果シートをコピー これ、全部コピーしています。 範囲を絞らないとダメです。

匿名質問者さんのコメント
ああ、なるほど最初の方のコピーの範囲について、ですね! 色々勉強になります!!!

2 ● 匿名回答2号

・vbaでピボットの結果を読み込んで、値を別シートに記載という方法はどうでしょうか。


匿名質問者さんのコメント
自分はこの方法をしているつもりなのですが、上記のVBAではできていないということでしょうか?

3 ● 匿名回答3号
ベストアンサー

xlValue → xlPasteValues
でいかがでしょうか


匿名質問者さんのコメント
バッチリでした!!!!!!ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ