- ベストアンサー
エクセルで自動でグラフを生成する方法について。
エクセルで自動でグラフを生成する方法について。 エクセルで自動でグラフを生成する方法を探しています。 例えば以下のようなデータがあったときに 4 3 6 1 この4つのデータを、例えばあるセルをクリックすると自動でこの4つのデータの円グラフがでるような機能を作りたいと考えています。 おそらくマクロを使えばすぐにできるのかと思いますが、 マクロはまったく使ったことがないので分かりません。 こちらのグラフ生成方法、もしくはマクロの使い方に関して分かりやすいサイトを知っている方いらっしゃいましたら、教えていただけると幸いです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
そのマクロは削除して作り直した方が早いです。 何回でも作れますから。不要なマクロは削除しておいて下さい。 次に作る時は、以下のサイトを参考にして、VBエディターを開き、 ある1行を削除してみて下さい。下の方にあります。 http://www.interq.or.jp/neptune/pctec/rakrak/dai4/top.html こうすると、違うセル範囲を選択して、ボタンを押すだけでグラフが できます。登録ボタンは「オートシェイプ」でもいいのですが、 「フォーム」の「ボタン」にしてみて下さい。 ところで、グラフの自動生成なら、マクロを使わなくてもできます。 1つは、 完成したグラフを選択し、右クリック。「グラフの種類」→「ユーザー設定」 タブの下にある「選択元」で「ユーザー定義」を選択。「追加」をクリック。 「任意のグラフ名」と「説明」を入力し、OK。 次回から、任意のセル範囲を選択し、通常通り作る際「グラフの種類」の中で 「ユーザー設定」→「ユーザー定義」をクリックすると、このグラフが登録 されているので、クリックして選択。 しかし、きれいなグラフになりませんが。 もう1つの、お勧めの方法は、 既存のグラフをCtrlを押しながらドラッグして、コピーし、右クリック→ 「元のデータ」で範囲を選択し直せば、目的の範囲のグラフが即座にできます。 最速なのが、任意の範囲を選択し、F11キーを押すだけで「棒グラフ」 がグラフ専用シート」に一瞬で作成されます。棒グラフですが、 これを変更すればいいのです。右クリックし「場所」を「オブジェクト」 にすれば、思ったシートに移せます。 グラフでしたら、マクロを使うより、以上の方法の何れかの方法がエラーが出ずに 使いやすいです。 全部試してみて、使いやすい方法をお選び下さい。
その他の回答 (5)
- hoiho1400
- ベストアンサー率8% (2/24)
>汎用性はありませんが、簡単な作業なら、これで、内容によっては作業が >簡略化される事は事実ですから。 いえいえ、まったく意味がありません! そもそもマクロの自動記録とは 少なくともその作業を1回は実際にやらなければいけません グラフの場合 1回やればそれで出来上がりです! グラフの元になるデータを入れ替えても それにリンクした形でグラフは変化します しかしそれを別の箇所でやろうとしても汎用性が無い絶対的な位置が決まってしまっていますので コードを書き換えなくてはいけません コードの書き換え部分にはマクロの自動記録は対応しません 別の箇所でグラフを作るならまたもう一回その作業ををしなくてはいけないのです マクロの自動記録に意味があると考える思考回路がワタシには理解できません。
hoiho1400さん、ご指摘、ありがとうございます。 確かにVBAは、Officeのアプリケーションです。 厳密に分けずに書きました。 質問者さんが、マクロを使った事がないとの事で、一から勉強していたら 何時間かかる事か、と思い、このような事もできますよ、と提示しました。 汎用性はありませんが、簡単な作業なら、これで、内容によっては作業が 簡略化される事は事実ですから。
- hoiho1400
- ベストアンサー率8% (2/24)
エクセルやワードにはVBAという機能が付いていて、マクロを自動で >作成してくれます。 は? おもいっきり間違えています! VBAとはVisualBasic For Applicationの略で VisualBasicというプログラム言語のOffice版であり つまりプログラム言語であり 機能ではありません!! 機能として存在するのはマクロの自動記録です しかし このマクロの自動記録に汎用性はありません 条件が異なれば思うような動作はしません
マクロを知らなくても、簡単にできる方法です。 エクセルやワードにはVBAという機能が付いていて、マクロを自動で 作成してくれます。 方法は、通常の作業をするだけです。その手順をマクロとして 記録してくれます。 ただし、記録中の作業は全て記録されるので慎重に、ゆっくり 作業して下さい。何回でもやり直せますから大丈夫ですが。 1.セル範囲を選択します。 2.「ツール」→「マクロ」→「新しいマクロの記録」をクリック 3.「マクロ名」に任意のマクロ名を入力。ショートカットの所に 半角で適宜なアルファベットを入力。これはCtrlと一緒に押した時、 マクロを実行させるショートカットキーです。 4.通常通り、グラフを作成します。 5.シートに小さく「記録終了」ボタンが出ているので(非表示なら 記録中は「表示」「ツールバー」にあるのでクリック)、なければ メニューの同じ個所に記録終了があるので、終了させます。 6.作ったグラフは消去します。 これで、マクロが記録されます。 「ツール」→「マクロ」→「マクロ」に作成したマクロがあるので「実行」 をクリックするとグラフが作成されます。 登録したショートカットキーでも実行します。 オートシェイプの任意の図形を描画し、右クリック。「マクロの登録」 をクリックし、マクロ名を選択すると、この図形をクリックするだけで 実行できます。 セルの中身を書き換えれば、グラフも変更されます。 詳細は下記のリンクをどうぞ。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/middle/mid-7.html http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/index.html
お礼
回答ありがとうございます。 返事が遅れてしまい申し訳ありません。 上記のリンクを基にマクロを作成することができました。 ただ、オートシェイプの任意の図形を描画し、マクロの登録を行ったところ、 エラーが発生するようになりました。 エラーの内容は以下のとうりです。 実行時エラー'1004' WorksheetクラスのChartObjectsプロパティを取得できません。 そこでコードを調べてみたのですが、 ActiveSheet.ChartObjects("グラフ 6").Activate の箇所でエラーが発生しておりました。 おそらくグラフ6を読み込もうとしているがグラフ6がないと怒られているのではないかと考えているのですが、 そもそもなぜグラフ6という名前がここに挿入されているのかが分かりません。 二度目の質問になってしまい大変申し訳ないのですが、 もし修正方法をご存知でしたら教えていただいてもよろしいでしょうか?
- hoiho1400
- ベストアンサー率8% (2/24)
グラフ自体、ウィザード形式で作成できるし データが更新すればそれに対応してグラフも更新します なのでそういう意味では自動で作成されるとも言えます マクロで とありますが サイトを見て簡単に というわけにはいきません それなりにきちんと勉強しないとマクロを扱うことはできません それらはマクロの自動記録レベルで対応できるわけではないからです これを機にきちんと基礎から勉強されるほうがいいでしょう 本気で覚えたいのであれば出費を惜しんではいけません 自費で何冊も本を買って擦り切れるほど読むことです
お礼
返事が遅れてしまい申し訳ありません。 もちろんマクロをしっかりと勉強するのが一番だと思うのですが、 何か手軽にできる方法はないかと模索しておりました。 ありがとうございます。
お礼
早いお返事ありがとうございます。 無事思ったとおりのことができるようになりました。 本当にありがとうございます。