こんなあなたにおすすめ
・Excel VBAでグラフを作成したい
Excelを使っていると、グラフを作成したいということがかなりの頻度であると思います。
今回は、Excel VBAで
・グラフを作成する
・グラフタイトルを設定する
・軸の最大値、最小値を設定する
・軸のタイトルを設定する
以上の内容について解説します。
グラフを作成する方法
グラフを作成する
グラフを作成の基本的な書き方は、以下の通りです
With ActiveSheet.Shapes.AddChart.Chart .ChartType = グラフの種類 .SetSourceData Rangeのセル範囲 End With
グラフの種類は、以下の通りです。
値 | グラフの種類 |
---|---|
xlColumnClustered | 集合縦棒 |
xlLine | 折れ線 |
xlPie | 円 |
xlDoughnut | ドーナツ |
xlArea | 面 |
xlXYScatter | 散布図 |
xlRadar | レーダー |
実際に棒グラフ、折れ線グラフ、散布図の3つを作成してみましょう。
棒グラフ
Sub test1() With ActiveSheet.Shapes.AddChart.Chart .ChartType = xlColumnClustered '棒グラフを作成する .SetSourceData Range("A1:B6") 'データの範囲を指定する End With End Sub
↓グラフ用データ
↓プログラム実行結果
折れ線グラフ
Sub test2() With ActiveSheet.Shapes.AddChart.Chart .ChartType = xlLine '折れ線グラフを作成する .SetSourceData Range("B1:B6") 'データの範囲を設定する End With End Sub
↓グラフ用データ
↓プログラム実行結果
散布図
Sub test3() With ActiveSheet.Shapes.AddChart.Chart .ChartType = xlXYScatter '散布図を作成する .SetSourceData Range("A1:B6") 'データの範囲を設定する End With End Sub
↓プログラム実行結果
グラフタイトルを設定する
グラフをタイトルの基本的な書き方は、以下の通りです
With ActiveSheet.Shapes.AddChart.Chart .HasTitle = True 'グラフタイトルを追加する .ChartTitle.Text = "" 'グラフタイトルを変更する End With
全体のプログラムは、以下の通りです。
Sub test4() With ActiveSheet.Shapes.AddChart.Chart '----------------------------------------------------------------- 'グラフを作成する '----------------------------------------------------------------- .ChartType = xlXYScatter '散布図を作成する .SetSourceData Range("A1:B6") 'データの範囲を設定する '----------------------------------------------------------------- 'グラフタイトルを設定する '----------------------------------------------------------------- .HasTitle = True 'グラフタイトルを追加する .ChartTitle.Text = "資格試験 スコア推移" 'グラフタイトルを変更する End With End Sub
軸の最大値、最小値を設定する
軸の最大値、最小値の基本的な書き方は、以下の通りです
With ActiveSheet.Shapes.AddChart.Chart .Axes(xlCategory).MaximumScale = 値 'x軸の最大値を設定する .Axes(xlCategory).MinimumScale = 値 'x軸の最小値を設定する .Axes(xlValue).MaximumScale = 値 'y軸の最大値を設定する .Axes(xlValue).MinimumScale = 値 'y軸の最大値を設定する End With
全体のプログラムは、以下の通りです。
Sub test5() With ActiveSheet.Shapes.AddChart.Chart '----------------------------------------------------------------- 'グラフを作成する '----------------------------------------------------------------- .ChartType = xlXYScatter '散布図を作成する .SetSourceData Range("A1:B6") 'データの範囲を設定する '----------------------------------------------------------------- 'グラフタイトルを設定する '----------------------------------------------------------------- .HasTitle = True 'グラフタイトルを追加する .ChartTitle.Text = "資格試験 スコア推移" 'グラフタイトルを変更する '----------------------------------------------------------------- 'x、y軸の最小値と最大値を設定する '----------------------------------------------------------------- .Axes(xlCategory).MaximumScale = 5 'x軸の最大値を設定する .Axes(xlCategory).MinimumScale = 0 'x軸の最小値を設定する .Axes(xlValue).MaximumScale = 100 'y軸の最大値を設定する .Axes(xlValue).MinimumScale = 0 'y軸の最大値を設定する End With End Sub
軸のタイトルを設定する
軸タイトルの基本的な書き方は、以下の通りです
With ActiveSheet.Shapes.AddChart.Chart .Axes(xlCategory).HasTitle = True 'x軸のタイトルを追加する .Axes(xlCategory).AxisTitle.Caption = "受験回数" 'x軸のタイトルを変更する .Axes(xlValue).HasTitle = True 'y軸のタイトルを追加する .Axes(xlValue).AxisTitle.Caption = "スコア" 'y軸のタイトルを変更する End With
全体のプログラムは、以下の通りです。
Sub test6() With ActiveSheet.Shapes.AddChart.Chart '----------------------------------------------------------------- 'グラフを作成する '----------------------------------------------------------------- .ChartType = xlXYScatter '散布図を作成する .SetSourceData Range("A1:B6") 'データの範囲を設定する '----------------------------------------------------------------- 'グラフタイトルを設定する '----------------------------------------------------------------- .HasTitle = True 'グラフタイトルを追加する .ChartTitle.Text = "資格試験 スコア推移" 'グラフタイトルを変更する '----------------------------------------------------------------- 'x、y軸の最小値と最大値を設定する '----------------------------------------------------------------- .Axes(xlCategory).MaximumScale = 5 'x軸の最大値を設定する .Axes(xlCategory).MinimumScale = 0 'x軸の最小値を設定する .Axes(xlValue).MaximumScale = 100 'y軸の最大値を設定する .Axes(xlValue).MinimumScale = 0 'y軸の最大値を設定する '----------------------------------------------------------------- 'x、y軸の凡例(軸タイトル)を設定する '----------------------------------------------------------------- .Axes(xlCategory).HasTitle = True 'x軸のタイトルを追加する .Axes(xlCategory).AxisTitle.Caption = "受験回数" 'x軸のタイトルを変更する .Axes(xlValue).HasTitle = True 'y軸のタイトルを追加する .Axes(xlValue).AxisTitle.Caption = "スコア" 'y軸のタイトルを変更する End With End Sub
まとめ
ここまで、Excel VBAでグラフを作成する方法について解説しました。
グラフを自動で作成できるようになると、データを取得してグラフ化など自動でできる範囲が広がるため、おすすめです。
ぜひ使ってみてください。
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら
[…] ラフを作成する方法については、下記の記事で解説していますので、ご参照ください。 関連記事:【ExcelVBA】グラフを作成する方法 グラフ作成、タイトル、軸の値、軸タイトル […]
[…] ラフを作成する方法については、下記の記事で解説していますので、ご参照ください。 関連記事:【ExcelVBA】グラフを作成する方法 グラフ作成、タイトル、軸の値、軸タイトル […]