アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

2軸のグラフをデータ系列毎に分けてグラフを作成する

2軸のグラフをデータ系列毎に分けてグラフを作成する


  2軸のグラフをデータ系列毎に分けて作成します。

  売上などの金額が大きいデータ系列と粗利率のように 1 以下のデータ系列のグラフを
  グラフウィザードで作成したら、粗利率の数値軸が売上の数値軸と同じになってし
  まったことありませんか?

  粗利率は 1 以下で売上の数値軸でグラフを作成したら、グラフが埋もれてしまいます。
  この数値軸を変えようとして、四苦八苦したことが何度もあります。

  この方法で作成すれば、こんなことはなくなります。

グラフを作成する 基の表

  データ系列を作成・指定して「売上」と「人件費」の棒グラフと「粗利率」の
  折れ線グラフを第2軸で作成する方法です。
	
Sub sample7()

    Dim ThisSheet_Name As String
    
    '現在アクティブになっているシート名を取得
    ThisSheet_Name = ActiveSheet.Name
    
    '空のグラフをアクティブになっているシートに作成する
    With Charts.Add

        .Location Where:=xlLocationAsObject, Name:=ThisSheet_Name

    End With
    
    
    '新しくデータ系列を作成します
    ActiveChart.SeriesCollection.NewSeries
    
    '作成したデータ系列に対して、
    'グラフの種類・X軸の項目・データの範囲・凡例を指定します
    With ActiveChart.SeriesCollection(1)
    
        'グラフの種類を設定 棒グラフ
        .ChartType = xlColumnClustered
        
        'X軸の項目軸を指定
        .XValues = Range("C1:H1")
        
        'データの指定
        .Values = Range("C2:H2")
        
        
        '凡例の指定
        .Name = Range("B2")
        
    End With

    '新しくデータ系列を作成します
    ActiveChart.SeriesCollection.NewSeries
    
    '作成したデータ系列に対して、
    'データの範囲・凡例を指定します
    'グラフの種類・X軸の項目は最初に作成したデータ系列と同じになります
    With ActiveChart.SeriesCollection(2)
    
        'データの指定
        .Values = Range("C3:H3")
        
        '凡例の指定
        .Name = Range("B3")
        
    End With
    
    '新しくデータ系列を作成します
    ActiveChart.SeriesCollection.NewSeries
    
    'グラフの種類・データの範囲・凡例・2軸の使用を指定します
    With ActiveChart.SeriesCollection(3)
    
        'グラフの種類を設定 折れ線グラフ
        .ChartType = xlLineMarkers
        
        'データの指定
        .Values = Range("C5:H5")
        
        '凡例の指定
        .Name = Range("B5")
    
        '第2軸にする
        .AxisGroup = xlSecondary

    End With

End Sub


棒グラフの作成


Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.