• 締切済み

エクセルのマクロでPPTにグラフを作成する

VBAにあまり詳しくないので教えてください。使用環境は、エクセル、PPTともに2010です。 エクセルでマクロを組んで、エクセルに複数あるデータテーブルをもとに、PPT上で順にグラフを作成しようと思っています。(エクセルでグラフを作成するのではありません) PPTでグラフを挿入して、エクセルのデータをPPT内のグラフ用エクセルに貼り付けるところまではすべてマクロでくめているのですが、 どうしても貼り付けたデータがグラフに反映されず、グラフの見た目はデフォルトのままです。(データはちゃんと貼り付いているのに…) ステップインで進めると更新されるのですが、流すとうまく更新されません。 時間の問題かと思い、数秒待ってから次のステップに行くように組んでも、やはり更新されません。 一度作成した後、もう一度そのグラフのデータエクセルを開くと、データに変更はないのに、なぜかグラフが更新されます。 どなたかお知恵をお貸しください。よろしくお願いいたします。 ---以下、プロフラムの流れ--- 1)データの元となるエクセルの、A列の色つきセルでグラフの形を決める  ↓ 2)開いているPPTにスライドを追加する  ↓ 3)1で判別したグラフの形を挿入する。この時自動的にPPT内のグラフのデータエクセルが開く。  ↓ 4)1の色つきセルに続くデータテーブルをコピーする  ↓ 5)3のPPT内のグラフ内のデータエクセルに貼り付け、データ範囲をリサイズする  ↓ 6)5のファイルを閉じる。  ※本当はここでグラフも更新されるはず!!  ↓ 7)クリップボードを空にする  ↓ 8)1に戻って次のデータテーブルに移る。

みんなの回答

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.2

PPT用のデータが書き換えられた時です。 そのあとに "数秒待ってから次のステップに行くように組んで" さらにこの後にも入れたほうがいいかもしれません。  どんなタイミングでどのようにwaitをかけているのかなどわかりませんが 当方の非力なPCでも先の回答の通り編集中でもスライドショー中でも動作します。  なお、おそらく編集中に実行して結果が出ればそれでいいのでしょうから 一旦保存して読み出せばそれで解決するような気がします。 Win XPでメモリーが1GB未満のPCとか Win Vistaでメモリーが1GBしかないPCとか 数年前のネットブックPCなどですと Office2010を使うこと自体が問題です。

ak_-_-_-_ka
質問者

お礼

ありがとうございました。

ak_-_-_-_ka
質問者

補足

さっそくご返信ありがとうございます。 アドバイスの通りやってみましたが、うまくいきませんでした。 ちなみにOSはWin7です。 私の書き方が悪くてうまくお伝えできていないのですが… もしかしたら、DreamyCatさんの回答の中に「スライドショー」が出てきているということは、 PPTとエクセルファイルがリンクしているものを想定されていますでしょうか。 今回の場合は、データのみをコピペするので、完成後はPPTだけでデータを編集できるタイプのものです。(うまく伝わりますでしょうか…)

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

DoEvents: DoEvents: DoEvents のように3つくらい入れれば 編集時のスライドのグラフでもスライドショー中のグラフでも 希望通りに連続動作するようになります。

ak_-_-_-_ka
質問者

補足

さっそくのご回答ありがとうございます。 よく理解できていないので、とんちんかんなことを言っているかもしれませんが、 DoEventsというのは、処理時間がかかってしまうようなときに使うものではないのですか? 今回の場合だと、どこの部分で入れるのが効果的でしょうか? 思い当たるようなところにいろいろ入れてみて実験しましたが、 やはりグラフはデフォルトのままで、更新されませんでした。 アドバイスいただければ幸いです。

関連するQ&A

  • Excelのグラフ作成

    セルA1に自動で更新される値(データ)があり、 この値が更新される度にA2、A3へとシフトされ値(データ)が溜まっていきます。 (新しいデータが常にA1に表示されます) このリアルタイムで更新される値のグラフを作成したいのですが上手くいきません。 セルが挿入されデータが溜まっていきますので、A1からA10までデータが溜まった時点で グラフを作成してもグラフの範囲も一緒にシフトされ新しいデータが取り込まれません。 いい方法はないでしょうか? 宜しくお願いします。

  • Excelマクロ:配列データからグラフを作成するには?

    マクロ初心者です。 Excel VBAのマクロで、2つの配列データから、散布図グラフを作成したいのですが、セルに配列データを書き込まず、直接グラフ化するにはどうしたらよいでしょうか? 配列データの要素数がexcelの行と列の最大数(65536,256)?を超えてしまっているので、配列データから直接グラフ化したいと思っています。 よろしくお願いいたします。

  • マクロでグラフを作成したい。

    エクセルのマクロについて教えて下さい。 グラフ作成をマクロ登録したのですが、元となるデータの参照範囲が違っても(例えばX軸の個数が違う)うまくグラフ化するようにしたいです。 教えて下さい。

  • エクセルマクロでグラフのタイトルを作成 (A1+任意の文字)

    エクセルグラフのタイトルをVBAで記入することについて,どなたか教えてください。 グラフのタイトルを「A1のセル+任意の文字(不変)」と付けたいのですが,どのようなマクロを組めばいいかわかりません・・・。 例えば,A1セルに「2007年」とはいっていて, マクロでグラフを作成すると,自動的に,「2007年の得点表」とタイトルが表示されるというものです。 軸についても,A1に2007年とはいっており,自動的に,2007年の選手となるには,どのようなマクロを組めばいいでしょうか。 毎年,更新されるデータなので,年の部分を可変にできるマクロを作っています。 アドバイスでもかまいませんので,どなたか教えていただけますと大変たすかります。宜しくお願いいたします。

  • エクセルのグラフを貼り付け後、更新しない方法

    エクセルで作成したグラフを、リンク元のデータを変えてもグラフは更新しない方法はありますか? エクセルでマクロが設定された状態で計算しています。 違うファイルでエクセルを開き、作成したグラフを貼り付けしたいのですが、 リンク先のデータ(マクロが設定されている)を変えるたびに、 先のデータで作成したグラフが、新たなデータのグラフに書き換えられてしまいます。 一度作成して貼り付けたグラフは、リンク先のデータを変えても変化せずそのままで、 数式のデータを入れ替えるたび新たなグラフを作っていきたいのですが、 どうやったらできますか? よろしくおねがいします。

  • excelのグラフ作成をマクロで

    excelのデータが多くてマクロで手っ取り早く処理したいのですが、どうすればよいのでしょうか? 初心者なもので。。。 A列をx軸にしてB列~P列をy軸にします。 1枚目がAとBでグラフを作成し、続いて2枚目としてAとCでグラフ作成し、同様にD・E・F・・・って作成したいです。 グラフは新しいシートを作成していきたいです。(計15枚だと思います。) で、そのシートの名前もつけたいです。 で、書式設定もマクロ上できたらうれしいです。 できないでしょうか? よろしくお願いします。

  • エクセルマクロでのグラフ作成について

    エクセルのマクロでグラフを作成したいのですが 設定したい値のセルが行も列も飛び飛びなんです。このような場合、どうやってセルを設定すればいいか教えてください。 セルの自動マクロ記録でやってみると、例えばですが ActiveChart.SetSourceData Source:=Sheets("グラフ").Range( _ "A5,A10,A15,A20,A25,A30,A35,D5,D10,D15,D20,D25,D30,D35"), PlotBy:= xlColumns このような設定で希望通りのグラフが出来上がります。 A列(X軸)とD列(Y軸)の値で、列は固定で数行置きのデータでのグラフが作りたいのです。 しかもどの行かは固定ではありませんので、セルアドレスをそのまま入力するのではなく、Cells(,) で設定したいのですが、Unionを使ってみたり、色々試したのですが、うまくできません。 おわかりの方教えて頂けませんでしょうか。 よろしくお願いいたします。

  • エクセルでグラフをマクロ化することはできますか?

    エクセルで、ごく簡単な表をグラフ化するのですが、マクロ化することはできますか? 例をあげます。 A1、B1、C1、D1、E1にそれぞれ数値(整数)が入っています。セルがたった5つだけの簡単な表です。これと同じ形式の表が10あります。これを円グラフに表し、割合として表示します。一つの表をグラフウィザードで円グラフにするのは、いたって簡単です。しかし、5つあるデータエリアの色をすべて変え、引込み線をつけない、凡例のフォントの大きさ、種類を変えるなど、設定をいろいろ変えました。この操作を10ある表すべてに繰り返しやりたくないのですが、マクロでできますか?あるいは、ほかによい方法がありますか?

  • エクセルで作ったデータとグラフをPPTでアップデートする

    以前にエクセルで作ったグラフをパワーポイントにコピーする方法を質問したものです。。。 今回は、エクセルで入力したデータで作ったエクセル上のグラフをパワーポイントにリンクして、 エクセルの元データを変更するだけでPPT上のグラフに反映させる方法を教えていただきたいのです いろいろ試行錯誤、エクセル上のグラフをコピー、PPTでペーストする際にリンクを選ぶところまではわかったんですが、 エクセルのデータを変えても反映されないのです。 いったいどうしたらデータの変更を反映させることができるのでしょうか また説明ベタで申し訳ないのですがおわかりになるかた、また、参考になるサイトがあることをご存知の方是非お願いします。。。

  • EXCELマクロで順番にグラフをつくるには?

    エクセルマクロ・VBA初心者です。 現在、グラフ作成で困ってます。 お詳しい方、よければアドバイスを下さい! 作成したいグラフは、元データが5000行×50列で、 1番左列に時刻、2列目からデータとなっており、 1-2列、1-3列、1-4列、・・・・1-50列 という感じの一般的な時系列グラフを多量につくりたいのです。 これをマクロを使って、別シートにグラフ(散布図)を並べて作るというものです。 さらに、別に用意したグラフの名称を並べたセルから、 順に、上記グラフのタイトルとして入力していきたいのです。 これをVBAを使って行いたいのですが、 一体どうすればいいのでしょうか? 「マクロの記録」では、 ■「50列目まで順番にグラフをつくれ!」 ■「名前を順番に入れていけ!」 という命令が私には作れません。 お詳しい方、ご返答宜しくお願い致します。

専門家に質問してみよう