![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?5a7ff87)
エクセルで自動でグラフを生成する方法について。
エクセルで自動でグラフを生成する方法を探しています。
例えば以下のようなデータがあったときに
4 3 6 1
この4つのデータを、例えばあるセルをクリックすると自動でこの4つのデータの円グラフがでるような機能を作りたいと考えています。
おそらくマクロを使えばすぐにできるのかと思いますが、
マクロはまったく使ったことがないので分かりません。
こちらのグラフ生成方法、もしくはマクロの使い方に関して分かりやすいサイトを知っている方いらっしゃいましたら、教えていただけると幸いです。
No.6ベストアンサー
- 回答日時:
そのマクロは削除して作り直した方が早いです。
何回でも作れますから。不要なマクロは削除しておいて下さい。
次に作る時は、以下のサイトを参考にして、VBエディターを開き、
ある1行を削除してみて下さい。下の方にあります。
http://www.interq.or.jp/neptune/pctec/rakrak/dai …
こうすると、違うセル範囲を選択して、ボタンを押すだけでグラフが
できます。登録ボタンは「オートシェイプ」でもいいのですが、
「フォーム」の「ボタン」にしてみて下さい。
ところで、グラフの自動生成なら、マクロを使わなくてもできます。
1つは、
完成したグラフを選択し、右クリック。「グラフの種類」→「ユーザー設定」
タブの下にある「選択元」で「ユーザー定義」を選択。「追加」をクリック。
「任意のグラフ名」と「説明」を入力し、OK。
次回から、任意のセル範囲を選択し、通常通り作る際「グラフの種類」の中で
「ユーザー設定」→「ユーザー定義」をクリックすると、このグラフが登録
されているので、クリックして選択。 しかし、きれいなグラフになりませんが。
もう1つの、お勧めの方法は、
既存のグラフをCtrlを押しながらドラッグして、コピーし、右クリック→
「元のデータ」で範囲を選択し直せば、目的の範囲のグラフが即座にできます。
最速なのが、任意の範囲を選択し、F11キーを押すだけで「棒グラフ」
がグラフ専用シート」に一瞬で作成されます。棒グラフですが、
これを変更すればいいのです。右クリックし「場所」を「オブジェクト」
にすれば、思ったシートに移せます。
グラフでしたら、マクロを使うより、以上の方法の何れかの方法がエラーが出ずに
使いやすいです。
全部試してみて、使いやすい方法をお選び下さい。
No.5
- 回答日時:
>汎用性はありませんが、簡単な作業なら、これで、内容によっては作業が
>簡略化される事は事実ですから。
いえいえ、まったく意味がありません!
そもそもマクロの自動記録とは 少なくともその作業を1回は実際にやらなければいけません
グラフの場合 1回やればそれで出来上がりです!
グラフの元になるデータを入れ替えても それにリンクした形でグラフは変化します
しかしそれを別の箇所でやろうとしても汎用性が無い絶対的な位置が決まってしまっていますので
コードを書き換えなくてはいけません
コードの書き換え部分にはマクロの自動記録は対応しません
別の箇所でグラフを作るならまたもう一回その作業ををしなくてはいけないのです
マクロの自動記録に意味があると考える思考回路がワタシには理解できません。
No.4
- 回答日時:
hoiho1400さん、ご指摘、ありがとうございます。
確かにVBAは、Officeのアプリケーションです。
厳密に分けずに書きました。
質問者さんが、マクロを使った事がないとの事で、一から勉強していたら
何時間かかる事か、と思い、このような事もできますよ、と提示しました。
汎用性はありませんが、簡単な作業なら、これで、内容によっては作業が
簡略化される事は事実ですから。
No.3
- 回答日時:
エクセルやワードにはVBAという機能が付いていて、マクロを自動で
>作成してくれます。
は? おもいっきり間違えています!
VBAとはVisualBasic For Applicationの略で
VisualBasicというプログラム言語のOffice版であり つまりプログラム言語であり
機能ではありません!! 機能として存在するのはマクロの自動記録です
しかし このマクロの自動記録に汎用性はありません
条件が異なれば思うような動作はしません
No.2
- 回答日時:
マクロを知らなくても、簡単にできる方法です。
エクセルやワードにはVBAという機能が付いていて、マクロを自動で
作成してくれます。
方法は、通常の作業をするだけです。その手順をマクロとして
記録してくれます。
ただし、記録中の作業は全て記録されるので慎重に、ゆっくり
作業して下さい。何回でもやり直せますから大丈夫ですが。
1.セル範囲を選択します。
2.「ツール」→「マクロ」→「新しいマクロの記録」をクリック
3.「マクロ名」に任意のマクロ名を入力。ショートカットの所に
半角で適宜なアルファベットを入力。これはCtrlと一緒に押した時、
マクロを実行させるショートカットキーです。
4.通常通り、グラフを作成します。
5.シートに小さく「記録終了」ボタンが出ているので(非表示なら
記録中は「表示」「ツールバー」にあるのでクリック)、なければ
メニューの同じ個所に記録終了があるので、終了させます。
6.作ったグラフは消去します。
これで、マクロが記録されます。
「ツール」→「マクロ」→「マクロ」に作成したマクロがあるので「実行」
をクリックするとグラフが作成されます。
登録したショートカットキーでも実行します。
オートシェイプの任意の図形を描画し、右クリック。「マクロの登録」
をクリックし、マクロ名を選択すると、この図形をクリックするだけで
実行できます。
セルの中身を書き換えれば、グラフも変更されます。
詳細は下記のリンクをどうぞ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/middl …
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/i …
回答ありがとうございます。
返事が遅れてしまい申し訳ありません。
上記のリンクを基にマクロを作成することができました。
ただ、オートシェイプの任意の図形を描画し、マクロの登録を行ったところ、
エラーが発生するようになりました。
エラーの内容は以下のとうりです。
実行時エラー'1004'
WorksheetクラスのChartObjectsプロパティを取得できません。
そこでコードを調べてみたのですが、
ActiveSheet.ChartObjects("グラフ 6").Activate
の箇所でエラーが発生しておりました。
おそらくグラフ6を読み込もうとしているがグラフ6がないと怒られているのではないかと考えているのですが、
そもそもなぜグラフ6という名前がここに挿入されているのかが分かりません。
二度目の質問になってしまい大変申し訳ないのですが、
もし修正方法をご存知でしたら教えていただいてもよろしいでしょうか?
No.1
- 回答日時:
グラフ自体、ウィザード形式で作成できるし
データが更新すればそれに対応してグラフも更新します
なのでそういう意味では自動で作成されるとも言えます
マクロで とありますが
サイトを見て簡単に というわけにはいきません
それなりにきちんと勉強しないとマクロを扱うことはできません
それらはマクロの自動記録レベルで対応できるわけではないからです
これを機にきちんと基礎から勉強されるほうがいいでしょう
本気で覚えたいのであれば出費を惜しんではいけません
自費で何冊も本を買って擦り切れるほど読むことです
返事が遅れてしまい申し訳ありません。
もちろんマクロをしっかりと勉強するのが一番だと思うのですが、
何か手軽にできる方法はないかと模索しておりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Word(ワード) 数値に差のあるデータを分かりやすく比較する方法について。医療現場におけるヒヤリハットの発生件数を事例 3 2022/07/18 14:24
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
- Excel(エクセル) エクセルデータの集計、一つのセルに複数のデータがある場合 7 2022/12/28 20:19
- 計算機科学 エクセルのデータの表すことについて 2 2023/03/05 20:49
- Excel(エクセル) エクセル ヒストグラム作成 1 2023/01/02 09:55
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBAをVBに変換する方法
-
エクセルシートをまとめて印刷...
-
Excelのラジオボタンにチェック...
-
エクセルVBAで、画像の倍率を知...
-
エクセル2007 テキストボ...
-
エクセルワークシート上に印刷...
-
ExcelのVBAでWordの書式を変更...
-
Powerpointでランダムな数字の...
-
ワードで段落→編みかけの設定→...
-
ピボットグラフの書式の固定に...
-
VBAを使ってエクセルシート...
-
エクセルのストップウォッチ
-
VBAに詳しい方教えてください。
-
VBA ChartWizardで円グラフが書...
-
VBAでグラフXj軸の文字列を左90...
-
最初の1回のみにボタンクリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
cellsで特定の離れた範囲を選択...
-
Powerpointでランダムな数字の...
-
VBAに詳しい方教えてください。
-
VBA[Private Sub]のコードをシ...
-
VBAを使ってエクセルシート...
-
【ExcelVBA】クエリの更新とピ...
-
別ブックからユーザーフォーム...
-
ピボットグラフの書式の固定に...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルシートをまとめて印刷...
-
どのドキュメントは暗号化され...
-
最初の1回のみにボタンクリッ...
-
エクセルワークシート上に印刷...
-
エクセル2007 テキストボ...
-
エクセルのマクロでSelection.S...
-
エクセルVBAで、画像の倍率を知...
-
VBAで棒グラフの色を変えたい
おすすめ情報