【Excel VBA】VBAでカンタンなグラフを描きたい

B!

VBAでカンタンなグラフを描きたい

こんにちは。伊川(@naonaoke)です。

pthonを勉強していると、どうしても、統計という分野から避けられません。

この統計の分野は、なかなか難しいのです。

しかし、この世の中か、数字で支配されています。

グラフを描くのは、Excelの操作では、そんなに難しくないです。

しかし、そのひと手間が面倒です。

その手間をVBAが解決します。

目次

このブログは、こんな人にお勧め

今回のお題
  • 日々の数値を、一瞬でグラフ化したい人
  • VBAを勉強中の人
  • 統計を勉強している人

解決

集計した数字は、グラフにすることによって、
初めて視覚化されます。
この視覚化することが重要なのです。


スポンサーリンク

VBAでグラフを描く

統計の中には、度数分布、標準偏差、偏差値、回帰分析など様々な方法があります。

Excelは、その機能があるのに、大半の人は、関数の使い方とVBAを勉強します。

しかし、本当に重要なのは、集計を元に、どのような手法で分析するかが、重要なのです。

どんなに、素晴らしい関数を使っても、どんなに素晴らしいコードを記載しても、結果を分析できなければ意味がありません。

VBAでグラフを描く 作業手順 その1 データベースを確認

グラフゾーンを確認①


グラフゾーンを確認②

下の図は、24列と、69列に値があり、グラフエリア①のように、値は隣り合っていません。


マクロの記録でも、グラフは作成可能です。

しかし、汎用性がないので、VBA実行します。

VBAでグラフを描く 作業手順 その2 グラフエリアを可変にする

競馬は現時点で、最大18頭までしか出走がありません。

しかし、16頭出走の場合を考えると、グラフを描いても、17,18は出走していないのに、グラフを描かなければなりません。

気になければいいのですが、私は気にしますので、なんとしても可変にします。

MaxRow = Cells(Rows.Count, “B”).End(xlUp).Row

このように記載します。

しかし、グラフを記載する場合には、さらに工夫が必要となります。

VBAでグラフを描く 作業手順 その3 Unionメゾットを使う

複数のRangeオブジェクトをまとめた、コレクションとしてのRangeを返すメソッドです。

難しく思うかもしれませんが、もっとカンタンに説明します。

Ctrlキーを押しながら、セルを選択すると、複数のセルを選択できます。

Unionメゾットは、そのCtrlキーを押しながら、セルを選択するイメージです。

VBAでグラフを描く 作業手順 その4 今回のコード

今回利用する変数

今回のメインコード

これで完成です。

VBAでグラフを描く 作業手順 その5 グラフを表示させる位置を決める

グラフは完成しましたが、グラフの位置を決めることができます。

つまり、自分の一番表示させたい場所を指定することができます。


これでお好みの位置にグラフを表示させることができます。

余談ですが、最近のTwitterの内容です。

このグラフをどうしても自動でグラフを作成したかったので、みなさんへ紹介しました。

ここがポイント

ここがポイント

今回は、半分以上が私の趣味の内容です。仕事は妥協しても、趣味には妥協したくないのです。また、ExcelVBAと競馬は相性がいいです。実現したいことを、VBAで考えることは、VBAのスキルも必然的に向上します。
動画とブログでわかりやすくExcelとACCESSを紹介しています





まとめ

今回は、グラフの書き方でした。

VBAを使わなくても、グラフを描くことはカンタンです。

しかし、そのカンタンなことも、VBAで再現してみてください。

きっとVBAのスキルも向上します。

最後まで読んできただきありがとうございました。

今回のサンプルファイルはありません。

サンプルファイルを購入希望の方はココをクリック
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

最新の記事はこちらから