大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、折れ線グラフを作成する方法について、ご紹介します。折れ線グラフを作成するには、「Shapes.AddChart2」を使います。グラフを挿入したら「xlLine」で折れ線に変更すると折れ線グラフの完成です。折れ線グラフの書式設定も含めて解説していきます。

はじめに

この記事では、折れ線グラフを作成する方法について、ご紹介します。

折れ線グラフを作成する手順は、

  • 元データを選択
  • グラフを挿入
  • グラフの種類を折れ線にする

という感じで簡単に作成できます。

グラフの基本的な書式として、

  • タイトルと凡例
  • 軸ラベル
  • 線の色
  • マーカー
  • データラベル

について、簡単に解説します。

グラフの書式設定は、VBAコードが大量にあるので、最初から設定しようとすると大変です。

「ベース」となるグラフを作成しておいて、そのグラフをコピーして利用すると、効率的にグラフの操作ができます。

グラフのコピーについて、詳細はこちらでまとめています。

では、折れ線グラフを作成する方法について、解説していきます。

この記事で紹介すること

  • 折れ線グラフを作成する方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

折れ線グラフを作成するVBAコードについて、まとめています。

VBAコードだけ確認したい場合に、ご活用ください。

'折れ線グラフを作成
Range("A1").Select '元データを選択
ActiveSheet.Shapes.AddChart2.Select 'グラフを挿入
ActiveChart.ChartType = xlLine '「折れ線」

'グラフの種類を変更
ActiveSheet.ChartObjects(1).Chart.ChartType = xlLineMarkers '「積み上げ折れ線」

'折れ線グラフの種類
ActiveChart.ChartType = xlLine '折れ線
ActiveChart.ChartType = xlLineStacked '積み上げ折れ線
ActiveChart.ChartType = xlLineStacked100 '100  積み上げ折れ線
ActiveChart.ChartType = xlLineMarkers 'マーカー付き折れ線
ActiveChart.ChartType = xlLineMarkersStacked 'マーカー付き積み上げ折れ線
ActiveChart.ChartType = xlLineMarkersStacked100 'マーカー付き 100% 積み上げ折れ線
ActiveChart.ChartType = xl3DLine '3-D 折れ線

'参照範囲を変更
ActiveSheet.ChartObjects(1).Chart.SetSourceData Range("A1").CurrentRegion

では、解説していきます。

VBAで折れ線のグラフを作成する

VBAで、「折れ線」のグラフを作成してみます。

「Shapes.AddChart2」を使う

使うのは、「Shapes.AddChart2」です。

折れ線グラフを作成するVBAコードです。

  • 元データを選択
  • グラフを挿入
  • グラフの種類を設定する

という手順です。

Sub TEST1()
    
    Range("A1").Select '元データを選択
    ActiveSheet.Shapes.AddChart2.Select 'グラフを挿入
    ActiveChart.ChartType = xlLine '「折れ線」
    
End Sub

元データを用意しておきます。

元データ

元データ

では、VBAコードを実行してみます。

折れ線グラフを作成できた

折れ線グラフを作成できた

折れ線グラフを作成できました。

折れ線グラフの種類を変更

折れ線グラフの種類を変更してみます。

グラフを作成した後に、グラフの種類を変更したい場合に使います。

「ChartType」を使う

使うVBAコードは、「ChartType」です。

「マーカー付き折れ線」に変更してみます。

Sub TEST2()
    
    '「マーカー付き折れ線」に変更
    ActiveSheet.ChartObjects(1).Chart.ChartType = xlLineMarkers
    
End Sub

では、VBAコードを実行してみます。

「マーカー付き折れ線グラフ」に変更できた

「マーカー付き折れ線グラフ」に変更できた

「マーカー付き折れ線グラフ」に変更できました。

折れ線グラフの種類

折れ線グラフの種類の一覧です。

折れ線グラフの種類の一覧

  • 折れ線(xlLine)
  • 積み上げ折れ線(xlLineStacked)
  • 100% 積み上げ折れ線(xlLineStacked100)
  • マーカー付き折れ線(xlLineMarkers)
  • マーカー付き積み上げ折れ線(xlLineMarkersStacked)
  • マーカー付き 100% 積み上げ折れ線(xlLineMarkersStacked100)
  • 3-D 折れ線(xl3DLine)

VBAコードの例です。

VBAコードの例

ActiveChart.ChartType = xlLine '折れ線
ActiveChart.ChartType = xlLineStacked '積み上げ折れ線
ActiveChart.ChartType = xlLineStacked100 '100  積み上げ折れ線
ActiveChart.ChartType = xlLineMarkers 'マーカー付き折れ線
ActiveChart.ChartType = xlLineMarkersStacked 'マーカー付き積み上げ折れ線
ActiveChart.ChartType = xlLineMarkersStacked100 'マーカー付き 100% 積み上げ折れ線
ActiveChart.ChartType = xl3DLine '3-D 折れ線

設定したいグラフの種類に応じて、VBAコードを選択しましょう。

その他のグラフ種類の一覧

他のグラフの種類については、こちらでまとめています。

折れ線グラフの参照範囲を変更

次は、折れ線グラフの参照範囲を変更してみます。

「SetSourceData」を使う

使うVBAコードは、「SetSourceData」です。

元データのセル範囲をすべて設定するには、「.CurrentRegion」を使うと便利です。

Sub TEST3()
    
    '参照範囲を設定
    ActiveSheet.ChartObjects(1).Chart.SetSourceData Range("A1").CurrentRegion
    
End Sub

元データにデータを追加しておきます。

元データにデータを追加

元データにデータを追加

では、VBAコードを実行して、参照範囲を変更してみます。

参照範囲を変更できた

参照範囲を変更できた

参照範囲を変更できました。

「SetSourceData」の詳細な使用方法

「SetSourceData」を使えば、「系列を追加」することもできるので便利です。

離れたセル範囲を参照したい場合は、「Union」が使えます。

「SetSourceData」の使い方について、詳細はこちらでまとめています。

VBAで折れ線グラフの位置とサイズを設定

VBAで折れ線グラフの「位置」と「サイズ」を設定してみます。

位置の設定

位置を設定してみます。

位置は、グラフの「左」と「上」を設定します。

使うVBAコードは、「.Left」と「.Top」です。

Sub TEST4()
    
    With ActiveSheet.ChartObjects(1)
        .Left = Range("B15").Left '左の位置
        .Top = Range("B15").Top '上の位置
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「左」と「上」の位置を設定できた

「左」と「上」の位置を設定できた

「左」と「上」の位置を設定できました。

「.Left」や「.Top」を応用して使う

位置を「.Left」や「.Top」で取得できれば、別シートの「同じ位置」にグラフの「コピー」や「移動」ができます。

「.Left」や「.Top」の使い方について、詳細はこちらでまとめています。

幅と高さの設定

次は、幅と高さの設定してみます。

使うVBAコードは、「.Width」と「.Height」です。

Sub TEST5()
    
    With ActiveSheet.ChartObjects(1)
        .Width = Range("B15:F23").Width '幅
        .Height = Range("B15:F23").Height '高さ
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「幅」と「高さ」を設定できた

「幅」と「高さ」を設定できた

「幅」と「高さ」を設定できました。

VBAで折れ線グラフのタイトルや軸、凡例の設定

VBAで折れ線グラフの「タイトル」や「軸」、「凡例」の設定をしてみます。

タイトルを設定する

「タイトル」を設定してみます。

タイトルを表示

タイトルを表示するには、「.HasTitle」を使います。

テキストを設定するには、「.ChartTitle.Text」です。

Sub TEST6()
    
    With ActiveSheet.ChartObjects(1).Chart
        .HasTitle = True 'タイトルを表示
        .ChartTitle.Text = "売上一覧"
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

タイトルを表示できました

タイトルを表示して、テキストを入力できました。

タイトルを非表示

タイトルを「非表示」にしてみます。

Sub TEST7()
    
    With ActiveSheet.ChartObjects(1).Chart
        .HasTitle = False 'タイトルを非表示
    End With
    
End Sub

では、VBAコードを実行してみます。

タイトルを非表示にできました

タイトルを「非表示」にできました。

タイトルの書式設定

タイトルの設定には、「位置」や「テキストの書式」、「背景色」、「枠線」の設定があります。

タイトルの設定について、詳細はこちらでまとめています。

凡例を設定する

凡例を設定してみます。

凡例を表示

「凡例」を表示するには、「.HasLegend」を使います。

Sub TEST8()
    
    With ActiveSheet.ChartObjects(1).Chart
        .HasLegend = True '凡例を表示
        .Legend.IncludeInLayout = True 'グラフと重ねない
        .Legend.Position = xlBottom '下に表示
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

凡例を表示できました

「凡例」を表示できました。

凡例を非表示

Sub TEST9()
    
    With ActiveSheet.ChartObjects(1).Chart
        .HasLegend = False '凡例を非表示
    End With
    
End Sub

凡例を非表示にできます。

凡例を非表示にできました

凡例を非表示にできました。

凡例の書式設定

凡例の設定には、「位置」や、「背景色」、「枠線」の設定があります。

凡例の設定について、詳細はこちらでまとめています。

軸ラベルを設定する

「縦軸ラベル」と「横軸ラベル」を設定してみます。

「縦軸」ラベルを表示

縦軸ラベルを表示するには、「.Axes(xlValue, 1).HasTitle」を使います。

縦軸の第1軸を「.Axes(xlValue, 1)」で指定しています。

Sub TEST10()
    
    '縦軸の第1軸
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1)
        .HasTitle = True '軸ラベルを表示
        .AxisTitle.Text = "売上"
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

縦軸ラベルを表示できました

縦軸ラベルを表示できました。

「縦軸」ラベルを非表示

縦軸ラベルを非表示にするには、「.HasTitle = False」とすることでできます。

Sub TEST11()
    
    '縦軸の第1軸
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1)
        .HasTitle = False '軸ラベルを非表示
    End With
        
End Sub

では、VBAコードを実行してみます。

縦軸ラベルを非表示にできました

縦軸ラベルを「非表示」にできました。

次は、横軸ラベルを設定してみます。

「横軸」ラベルを表示

横軸ラベルを表示するには、「.Axes(xlCategory, 1).HasTitle」を使います。

横軸の第1軸を指定するには、「.Axes(xlCategory, 1)」で、「xlCategory」とすると、「横軸」になります。

Sub TEST12()
    
    '横軸の第1軸
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory, 1)
        .HasTitle = True '軸ラベルを表示
        .AxisTitle.Text = "日付"
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

横軸ラベルを設定できました

「横軸ラベル」を設定できました。

「横軸」ラベルを非表示

横軸ラベルを非表示にするには、「.HasTitle = False」とすれば、できます。

Sub TEST13()
    
    '横軸の第1軸
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory, 1)
        .HasTitle = False '軸ラベルを表示
    End With
        
End Sub

では、VBAコードを実行してみます。

横軸ラベルを非表示にできました

横軸ラベルを「非表示」にできました。

軸ラベルの書式設定

軸ラベルの書式設定には、「テキストの入力」や「文字の書式」、「背景色の書式」、「枠線の書式」など、設定できる項目があります。

軸ラベルは、「第1軸のラベル」だけでなく「第2軸のラベル」も設定できます。

軸ラベルの設定について、詳細はこちらでまとめています。

軸を設定する

グラフで軸を設定することもできます。

グラフの軸としては、

  • 横軸の第1軸
  • 縦軸の第1軸
  • 横軸の第2軸
  • 縦軸の第2軸

が設定できます。

グラフの軸の設定で、頻度が高いのが、「スケール」の設定です。

スケール以外にも、次のような設定があります。

  • 軸のスケール
  • 軸の文字の書式
  • 軸の表示形式
  • 軸の背景の書式
  • 軸の反転

などです。

軸の設定について、詳細はこちらでまとめています。

VBAで折れ線グラフの系列の設定

VBAで折れ線グラフの「系列」の設定してみます。

  • 系列の線
  • 系列のマーカー
  • 系列のデータラベル

を設定してみます。

線を設定

線を設定してみます。

線の色

線の色を設定するには、「.SeriesCollection(1).Format.Line」を使います。

1つ目の系列は、「.SeriesCollection(1)」というように指定することができます。

Sub TEST14()
    
    '「1つ目」の系列の「線」
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Format.Line
        .Visible = msoTrue '塗りつぶしあり
        .ForeColor.RGB = RGB(255, 255, 0) '黄色
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

線の色を設定できました

「線の色」を設定できました。

線を非表示

線を非表示にしてみます。

線を塗りつぶしなしにすることで、非表示にします。

線の塗りつぶしなしは、「.Visible = msoFalse」でできます。

Sub TEST15()
    
    '「1つ目」の系列の「線」
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Format.Line
        .Visible = msoFalse '塗りつぶしなし
    End With
        
End Sub

では、VBAコードを実行してみます。

線を非表示にできました

線を「非表示」にできました。

線の色、太さ、種類の設定

他にも、系列の「線の色」や、「線の太さ」、「線の種類」、「ポイント単位での設定」などが設定できます。

系列の線の設定について、詳細はこちらでまとめています。

マーカーの設定

マーカーの設定をしてみます。

マーカーを表示

マーカーを表示にするには、「.MarkerStyle = 1」というように、マーカーの種類を設定します。

マーカーの種類は、「1~9」までを指定できます。

Sub TEST16()
    
    '「1つ目」の系列
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        .MarkerStyle = 1 'マーカーを設定(種類:1~9)
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

マーカーの設定できました

マーカーの設定できました。

マーカーを非表示

マーカーを非表示にするには、「.MarkerStyle = xlNone」とするとできます。

Sub TEST17()
    
    '「1つ目」の系列
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        .MarkerStyle = xlNone 'マーカー非表示
    End With
    
End Sub

では、VBAコードを実行してみます。

マーカーを非表示にできました

マーカーを「非表示」にできました。

マーカーのサイズ

マーカーのサイズを設定するには、「.MarkerSize」を使います。

Sub TEST18()
    
    '「1つ目」の系列
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        .MarkerSize = 10 'マーカーサイズ
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

マーカーのサイズを設定できました

マーカーの「サイズ」を設定できました。

マーカーの背景色と枠線色

マーカーの背景色は、「.MarkerBackgroundColor」で、マーカーの枠線色は、「.MarkerForegroundColor」で設定できます。

背景色は、マーカーの中央の部分で、マーカーの枠線色は、外側の部分です。

Sub TEST19()
    
    '「1つ目」の系列
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        .MarkerBackgroundColor = RGB(255, 255, 0) 'マーカー背景色
        .MarkerForegroundColor = RGB(255, 255, 0) 'マーカー枠線色
    End With
        
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

マーカーの背景色と枠線色を設定できました

マーカーの「背景色」と「枠線色」を設定できました。

マーカーの詳細な設定方法

マーカーをポイント単位で設定することもできます。

マーカーの設定について、詳細はこちらでまとめています。

データラベルを設定する

データラベルを設定してみます。

データラベルの表示

データラベルを表示するには、「.HasDataLabels = True」とします。

Sub TEST20()
    
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        .HasDataLabels = True 'データラベルを表示
        .DataLabels.Position = xlLabelPositionRight '右
    End With
    
End Sub

グラフを用意しておきます。

グラフを用意しておきます

では、VBAコードを実行してみます。

データラベルを設定できました

データラベルを設定できました。

データラベルの非表示

データラベルの非表示にするには、「.HasDataLabels = False」とすれば、できます。

Sub TEST21()
    
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
        .HasDataLabels = False 'データラベルを非表示
    End With
    
End Sub

では、VBAコードを実行してみます。

データラベルを非表示にできました

データラベルを「非表示」にできました。

データラベルの書式設定

データラベルの「位置」の設定や、「ポイント単位での設定」、「文字サイズ」、「文字色」なども設定できます。

データラベルの設定について、詳細はこちらでまとめています。

おわりに

この記事では、折れ線グラフを作成する方法について、ご紹介しました。

折れ線グラフを作成する手順は、

  • 元データを選択
  • グラフを挿入
  • グラフの種類を折れ線にする

という感じで簡単に作成できます。

グラフの基本的な書式として、

  • タイトルと凡例
  • 軸ラベル
  • 線の色
  • マーカー
  • データラベル

について、簡単に解説しました。

グラフの書式設定は、VBAコードが大量にあるので、最初から設定しようとすると大変です。

「ベース」となるグラフを作成しておいて、そのグラフをコピーして利用すると、効率的にグラフの操作ができます。

グラフのコピーについて、詳細はこちらでまとめています。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す