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の内容です。

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

ここがポイント

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





created by Rinker
¥2,000 (2020/10/31 03:22:31時点 Amazon調べ-詳細)

まとめ

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

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

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

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

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

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

サンプルファイルを購入希望の方はココをクリック
サンプルファイルの購入
ブログが動画で紹介した内容のサンプルファイルを購入できます。
月額3,000円です。
練習用ファイルもダウンロードできます。
PayPal経由でお支払いでます。
ダウンロード回数に制限はありません。
スポンサーリンク

Twitterでフォローしよう

おすすめの記事