大体でIT

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

大体でIT

Excel VBAで、グラフの軸ラベルを書式設定する方法について、ご紹介します。軸ラベルの表示は「.HasTitle」を使って、軸ラベルの書式設定は「.AxisTitle」を使って設定をします。グラフの書式設定はたくさんあって大変です。VBAでのグラフ操作になれていきましょう。

はじめに

この記事では、VBAでグラフの「軸ラベル」の書式を設定する方法について、ご紹介します。

軸ラベルの「表示」は、「.HasTitle」を使います。

軸ラベルの「文字の設定」で使うVBAコードは、「.AxisTitle」です。

軸ラベルの「背景色」は「.AxisTitle.Format.Fill」で、「枠線」は「.AxisTitle.Format.Line」を使います。

グラフの書式は、たくさんあって大変です。VBAでのグラフ操作に慣れていきましょう。

では、VBAでグラフの「軸ラベル」の書式を設定する方法について、解説していきます。

この記事で紹介すること

  • VBAでグラフの「軸ラベル」の書式設定をする方法

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

目次

VBAコードまとめ

グラフの軸ラベルを設定するVBAコードについて、まとめています。

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

'軸ラベルを表示/非表示
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).HasTitle = True '縦軸の第1軸ラベルを表示(非表示はFalse)
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 2).HasTitle = True '縦軸の第2軸ラベルを表示(非表示はFalse)
ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory, 1).HasTitle = True '横軸の第1軸ラベルを表示(非表示はFalse)
ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory, 2).HasTitle = True '横軸の第2軸ラベルを表示(非表示はFalse)

'軸ラベルの「テキスト」を設定
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Text = "売上"

'軸ラベルの文字の「書式設定」
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Font.Color = RGB(255, 0, 0) '文字色
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Font.Size = 15 '文字サイズ

'軸ラベルの「背景色」の設定
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Fill.Visible = msoTrue '塗りつぶしあり
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Fill.ForeColor.RGB = RGB(255, 0, 0) '赤色
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Fill.Transparency = 0.5 '透過率
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Fill.Visible = msoFalse '塗りつぶしなし
    
'軸ラベルの「枠線」の設定
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line.Visible = msoTrue '塗りつぶしあり
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line.ForeColor.RGB = RGB(255, 0, 0) '赤色
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line.Transparency = 0.5 '透過率
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line.Weight = 4 '太さ
ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line.Visible = msoFalse '塗りつぶしなし

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

グラフの軸ラベルを表示する

グラフの軸ラベルを表示するには、「軸を指定」して「HasTitle」で表示できます。

軸ラベルの表示と非表示

軸ラベルの表示と非表示をするVBAコードをまとめています。

「.Axes」で軸を指定します。

縦軸は「xlValue」、横軸は「xlCategory」を使います。

第1軸か第2軸を設定するには、「.Axes」の2つ目の引数に「1」か「2」を入力します。

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

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

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

'横軸の第2軸
ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory, 2).HasTitle = True '軸ラベルを表示
ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory, 2).HasTitle = False '軸ラベルを非表示

では、実際に軸ラベルを表示してみます。

縦軸の第1軸ラベル

「縦軸の第1軸ラベル」を表示してみます。

「縦軸の第1軸」なので「.Axes(xlValue, 1)」を使います。

「ラベル」の表示は、「.HasTitle = True」とします。

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

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

グラフを用意

グラフを用意

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

「縦軸の第1軸ラベル」を表示

「縦軸の第1軸ラベル」を表示

「縦軸の第1軸ラベル」を表示できました。

縦軸の第2軸ラベル

縦軸の第2軸ラベル

「縦軸の第2軸」なので「.Axes(xlValue, 2)」を使います。

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

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

グラフを用意

グラフを用意

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

「縦軸の第2軸ラベル」を表示

「縦軸の第2軸ラベル」を表示

「縦軸の第2軸ラベル」を表示できました。

横軸の第1軸ラベル

横軸の第1軸ラベル

「横軸の第1軸」なので「.Axes(xlCategory, 1)」を使います。

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

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

グラフを用意

グラフを用意

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

「横軸の第1軸ラベル」を表示

「横軸の第1軸ラベル」を表示

「横軸の第1軸ラベル」を表示できました。

横軸の第2軸ラベル

横軸の第2軸ラベル

「横軸の第2軸」なので「.Axes(xlCategory, 2)」を使います。

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

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

グラフを用意

グラフを用意

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

「横軸の第2軸ラベル」を表示

「横軸の第2軸ラベル」を表示

「横軸の第2軸ラベル」を表示できました。

グラフの軸ラベルの書式を設定する

グラフの軸ラベルの「書式」を設定してみます。

軸ラベルにテキストを入力

軸ラベルにテキストを入力してみます。

軸ラベルにテキストを入力するには、「.AxisTitle.Text」を使います。

Sub TEST5()
    
    '縦軸の第1軸のラベル
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle
        .Text = "売上"
    End With
        
End Sub

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

グラフを用意

グラフを用意

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

軸ラベルに「テキスト」を入力

軸ラベルに「テキスト」を入力

軸ラベルに「テキスト」を入力できました。

軸ラベルの文字の書式

軸ラベルの「文字の書式」を設定してみます。

文字の色は、「.AxisTitle.Font.Color」で設定します。

文字サイズは、「.AxisTitle.Font.Size」を使います。

Sub TEST6()
    
    '縦軸の第1軸のラベル
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle
        .Font.Color = RGB(255, 0, 0) '赤色
        .Font.Size = 15 'サイズ
    End With
        
End Sub

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

グラフを用意

グラフを用意

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

文字色、文字サイズ

文字色、文字サイズ

軸ラベルの「文字色」、「文字サイズ」を設定できました。

軸ラベルの背景の書式

軸ラベルの「背景の書式」を設定してみます。

軸ラベルの「背景の書式」は、「.AxisTitle.Format.Fill」を使います。

背景色、透過率を設定

背景色、透過率を設定してみます。

「.Visible = msoTrue」で塗りつぶしありにして、「.ForeColor.RGB」と「.Transparency」では背景色と透過率を設定します。

Sub TEST7()
    
    '縦軸の第1軸のラベル背景
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Fill
        .Visible = msoTrue '塗りつぶしあり
        .ForeColor.RGB = RGB(255, 0, 0) '赤色
        .Transparency = 0.5 '透過率
    End With
        
End Sub

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

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

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

背景色、透過率を設定できました

軸ラベルの「背景色」と「透過率」を設定できました。

「塗りつぶしなし」にする

「塗りつぶしなし」にするには、「.Visible = msoFalse」とします。

Sub TEST8()
    
    '縦軸の第1軸のラベル背景
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Fill
        .Visible = msoFalse '塗りつぶしなし
    End With
        
End Sub

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

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

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

「塗りつぶしなし」にできました

軸ラベルを「塗りつぶしなし」にできました。

軸ラベルの枠線の書式

軸ラベルの「枠線」の書式を設定してみます。

軸ラベルの枠線の書式は、「.AxisTitle.Format.Line」を使います。

枠線色、透過率、太さを設定する

枠線色、透過率、太さを設定してみます。

「.Visible = msoTrue」で塗りつぶしありにして、「.ForeColor.RGB」と「.Transparency」、「.Weight」で、背景色と透過率、太さを設定できます。

Sub TEST9()
    
    '縦軸の第1軸のラベル枠線
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line
        .Visible = msoTrue '塗りつぶしあり
        .ForeColor.RGB = RGB(255, 0, 0) '赤色
        .Transparency = 0.5 '透過率
        .Weight = 4 '太さ
    End With
        
End Sub

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

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

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

枠線色、透過率、太さを設定できました

軸ラベルの枠線の「枠線色」と「透過率」、「太さ」を設定できました。

「塗りつぶしなし」にする

軸ラベルの枠線を「塗りつぶしなし」にしてみます。

「.Visible = msoFalse」で塗りつぶしなしにできます。

Sub TEST10()
    
    '縦軸の第1軸のラベル枠線
    With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue, 1).AxisTitle.Format.Line
        .Visible = msoFalse '塗りつぶしなし
    End With
        
End Sub

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

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

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

「塗りつぶしなし」にできました

「塗りつぶしなし」にできました。

おわりに

この記事では、VBAでグラフの「軸ラベル」の書式を設定する方法について、ご紹介しました。

軸ラベルの「表示」は、「.HasTitle」を使います。

軸ラベルの「文字の設定」で使うVBAコードは、「.AxisTitle」です。

軸ラベルの「背景色」は「.AxisTitle.Format.Fill」で、「枠線」は「.AxisTitle.Format.Line」を使います。

グラフの書式は、たくさんあって大変です。VBAでのグラフ操作に慣れていきましょう。

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

関連する記事から探す

カテゴリから探す

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

アーカイブから探す