[[20070904160759]] 『マクロでピボットテーブルを作成したのですが不具』(のび) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロでピボットテーブルを作成したのですが不具合が・・・』(のび)
いつもお世話になってます!今回の問題は、マクロ記録でピボットテーブルを3つ使用して、
データ使用後、削除して記憶終了して保存したんですが、マクロの確認の為に実行したら、ピボットでエラーが起きてしまいました。VBA上はピボットテーブル1と2と3の名前で登録されているのに、手動でピボットを作りピボットの名前を確認したら、ピボットテーブル4だったのでやっぱり
という感じです。その為に記憶終了前に削除したんですが・・・。マクロで繰り返しピボットを
使う為にはどうしたらよいのでしょうか?質問が分かりにくくてすいません。


 マクロでピボットテーブルを作成すると
 記録で取ったときに作成した名称で作成されるみたいです。

 そもそも
 元となるピボットテーブルは、
 毎回作りかえる必要があるのですか?

 (HANA)

HANAさんコメントありがとうございます!自分の説明が悪くてすいません!例で言うとマクロで記憶したのは自動的にピボットテーブル1と言う名前なんですが、いざマクロを実行するとピボットテーブルの名前が一致せず
エラーになってしまうのです。原因を調べるとマクロ実行時のピボットテーブルの名前がピボットテーブル2に
なってしまう為一致せずエラーになったのまで分かるのですが、その先がどうしたらいいのか分からないので
す。単純な発想で、ピボットテーブル1の存在が残っていると上書きでピボットテーブル1にはならず、ピボット
テーブル2が自動的に作られてしまう為エラーになるのかな?と思い、同じマクロ内で最後にピボットテーブルを
削除して終了させれば、次はまたピボットテーブル1になるのかなと思ったら駄目でした。文が短くまとめられず
申し訳ないです。

 ・・・私が意味がわかっていないですかね?

 「手作業で作成したピボットテーブルを元テーブルとして
  記録で作成したコードを実行させようとすると、エラーになる」
 と言う事ですよね?
 (記録した時と同じ名前のピボットテーブルが無いため。)

 それに対して
 「元テーブルとなるピボットテーブルを、マクロで作成してはどうですか?
 (記録した時につけられた名前で作成されるようなので。)」
 それから
 「手作業で再作成すると、名前が変わってしまうので
  再作成せずに済む運用方法は取れませんか?
 (作りかえないので、名前も変わらない。)」
 と言う提案です。

 現在記録で作成したマクロのコードを変更するのではなく
 ピボットテーブルの名前を固定できる方法を考える。

 無理なら、これらの方法は使えませんが。

 そうそう、文章の先頭に半角スペースを入れると
 改行できますよ。
A←この「A」の部分に、半角スペースです。

 また、コメント記入の際は、その都度お名前を書いてくださいね。

 (HANA)

 HANAさんホントすいません。自分が理解力が足りないかも知れません。一応アドバイス通り試して見たのですが
 上手くいきませんでした。まず、マクロを記録しながら作るテーブルは、手作業で作成したピボットテーブルと
 マクロで作成するテーブルのどちらにあてはまるのでしょうか?初歩的な所から分かってなくてすいません。
 それで一応マクロを記憶させながらピボットテーブルを作り、オプションで名前を、自動的に入力されている
 ピボットテーブル1と言う名前から仙台と言う名前に指定してやってみたのですが、マクロを実行すると、アプ
 リケーションの定義エラーもしくはオブジェクトの定義エラーとなってしまうんです。(のび)

 >まず、マクロを記録しながら作るテーブルは、
 >手作業で作成したピボットテーブルと
 >マクロで作成するテーブルのどちらにあてはまるのでしょうか?
 ・・・ごめんなさい、御質問の意味がよく分かりません。

 >マクロを実行すると、エラー
 このマクロを実行する前に、「仙台」と言う名前のピボットテーブルは
 削除されている必要がありますが、どうでしたか?

 一つずつ確認しながら、上手く行くかどうか試してください。
 今回の場合、大きく3つの手順になると思います。

 A.マクロを使ってピボットテーブルを作る。
 B.ピボットテーブルを使用して処理を行う。
   (こちらは既に記録済みのものです。)
 C.Aで作ったピボットテーブルを削除する。

 Aに関して
 1常に同じ名前で作成出来るか。
  (これが、マクロで行おうとしている一番の理由ですので。)
   同じ名前のピボットテーブルが無い状態で、記録した「ピボット作成マクロ」
   を実行し、名前を確認してください。
 2データ範囲を正しく拾えるか。
   ピボットテーブルの作成手順を記録に取った際、データ範囲はその時の範囲を記録します。
   その時の範囲より広いデータで、「ピボット作成マクロ」を実行させても
   範囲外のデータは、作成されたピボットテーブルのデータには含まれません。
   データ範囲に列単位の指定をするか、「ピボット作成マクロ」の内
   範囲を指定している部分を、書き換える必要があります。

 Bに関して
 1同じ名前のピボットテーブルが有れば常に正しい結果を出せるか。
   これは、色々なデータでピボットテーブルを作成し
   (もちろん、「ピボット作成マクロ」と同じ手順で作成してくださいね。)
   ピボットテーブル名を記録したときと同じ名前に変更し、「処理マクロ」を実行します。
   「名前さえ一緒で有れば良いのか」確認してください。

 Cに関して
 1改めて言うことは無いと思いますが、消したい3つが正しく消せるかどうか。

 全てのパーツが上手く動かないことには、組み合わせても
 思ったようには動いてくれないでしょうから。

 (HANA)

一度エクセルを閉じると次に作成されるピボットは1からになりますが、
エクセルを閉じないままでマクロだけ確認しようとして新たに作成されるピボットは
前回作成した続きの番号からになります。
記録したマクロを確認したい場合は一旦エクセルを閉じてから確認されたし。
(レイ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.