今回は、VBA(Visual Basic for Applications)を使用してExcelでグラフを自動生成する方法について学んでいきましょう。グラフを作成することで、データの可視化や分析がよりわかりやすくなります。
まずは、基本的な折れ線グラフの作成方法について見ていきましょう。
Sub CreateLineChart()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim rngData As Range
Dim rngX As Range
Dim rngY As Range
' シートを選択する
Set ws = ThisWorkbook.Sheets("Sheet1")
' データの範囲を指定する
Set rngData = ws.Range("A1:B10")
Set rngX = rngData.Columns(1)
Set rngY = rngData.Columns(2)
' グラフオブジェクトを作成する
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=300, Top:=50, Height:=300)
With chartObj.Chart
.ChartType = xlLine
.SetSourceData Source:=rngData
.SeriesCollection(1).XValues = rngX
.SeriesCollection(1).Values = rngY
.HasTitle = True
.ChartTitle.Text = "折れ線グラフ"
End With
End Sub
この例では、Sheet1にあるデータを使用して折れ線グラフを作成し、タイトルを設定しています。
次に、棒グラフの作成方法について見ていきましょう。
Sub CreateBarChart()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim rngData As Range
Dim rngX As Range
Dim rngY As Range
' シートを選択する
Set ws = ThisWorkbook.Sheets("Sheet1")
' データの範囲を指定する
Set rngData = ws.Range("A1:B10")
Set rngX = rngData.Columns(1)
Set rngY = rngData.Columns(2)
' グラフオブジェクトを作成する
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=300, Top:=50, Height:=300)
With chartObj.Chart
.ChartType = xlColumnClustered
.SetSourceData Source:=rngData
.SeriesCollection(1).XValues = rngX
.SeriesCollection(1).Values = rngY
.HasTitle = True
.ChartTitle.Text = "棒グラフ"
End With
End Sub
この例では、同じくSheet1にあるデータを使用して棒グラフを作成し、タイトルを設定しています。
グラフの作成は、VBAを使ってExcelのデータを視覚的に表現する重要な手段です。折れ線グラフや棒グラフの他にも、さまざまな種類のグラフを自動生成することができます。