ExcelVBAでグラフの範囲を変更する

ExcelVBAでグラフの範囲を変更する

同じ見た目のグラフを範囲だけ変えていっぱい作りたい!っていう作業を簡単にしたくて組んでみました。


追記

もうちょっと簡単な方法を書きましたので、こっちのほうが分かりやすいかと思います。

以下、残しておきますので何かの参考にされたら幸いです。

グラフの設定範囲の変更はハンパなくめんどくさい

最新のバージョンは分かりませんが、グラフの範囲って絶対参照になっちゃうし、後から変更しようと思うとほんとーに大変です。そんなことをちまちまやっている時間は非常にもったいないので、できるだけ自動化して楽したいものです。

120405-1

こんな感じのグラフで説明してみます。これを、範囲を変えていっぱい作りたいことにします。

基本項目をチェック

120405-2

後で「?」ってなる前に押さえておきましょう。行は左横の数字、列は縦のアルファベットのことで、プログラム上ではアルファベットを数値に置き換えます。こちらの記事も参考にどうぞ。

コード

※特性番号が1から連番になってること前提です。普通に作れば連番になってます。

6~13行目の変数の値だけ変えれば動くようになっています。変数が多くてちょっと分かりにくいですが、主に必要なのはこの3点です。

120405-3

現在参照している、又はこれから参照するセルが空白だった場合、“SeriesクラスのValuesプロパティを設定できません”というエラーが出てきてしまうので、DisplayBlanksAsを使うと良いようです。

グラフの名前は、グラフを右クリック→グラフウインドウから調べられます。グラフの番号がよく分からない場合は、15行目をとっぱらって、手動でアクティブにしておいて実行してみるといいかと思います。

手間のかかる無駄な仕事はどんどん自動化してしまいましょう!

公開日:2012/04/05

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

当サイトはスパム対策のため Akismet プラグインを利用しています。コメントデータの処理方法はこちらをご参照ください。

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)