Excel VBAで条件に応じてマーカーを強調する方法

Excelの折れ線グラフなどで、特定の値を目立たせるためにマーカーの形や色を変える処理は、視認性を高める上で非常に有効です。本記事では、VBAを使ってグラフ内のデータポイントを条件に応じて動的に強調する方法をご紹介いたします。


目次

サンプルコード:条件に応じたマーカーの強調表示

Sub EmphasizeMarkers()
    Dim chartObj As Chart
    Dim dataSeries As Series
    Dim pt As Point
    Dim i As Long
    Const HIGH_VALUE As Long = 10000
    Const LOW_VALUE As Long = 3000

    ' グラフの取得(先頭のグラフオブジェクト)
    Set chartObj = ActiveSheet.ChartObjects(1).Chart
    Set dataSeries = chartObj.SeriesCollection(1)

    ' 各データポイントに対して処理を行う
    For i = 1 To dataSeries.Points.Count
        Set pt = dataSeries.Points(i)

        Select Case dataSeries.Values(i)
            Case Is >= HIGH_VALUE
                pt.MarkerStyle = xlMarkerStyleDiamond
                pt.MarkerSize = 12
                pt.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
                pt.ApplyDataLabels
                pt.DataLabel.ShowValue = True

            Case Is <= LOW_VALUE
                pt.MarkerStyle = xlMarkerStyleTriangle
                pt.MarkerSize = 12
                pt.Format.Fill.ForeColor.RGB = RGB(0, 0, 255)
                pt.ApplyDataLabels
                pt.DataLabel.ShowValue = True

            Case Else
                pt.MarkerStyle = xlMarkerStyleCircle
                pt.MarkerSize = 6
                pt.Format.Fill.ForeColor.RGB = RGB(128, 128, 128)
                pt.HasDataLabel = False
        End Select
    Next i
End Sub

コード解説

  • HIGH_VALUELOW_VALUEを基準として、マーカーの形・色を動的に変更します。
  • MarkerStyleでマーカーの種類(菱形・三角形・円など)を設定します。
  • MarkerSizeでサイズを調整し、視認性を高めます。
  • ApplyDataLabelsShowValueで、ラベルに値を表示させています。
  • ForeColor.RGBで色指定も柔軟に変更可能です。

応用例

  • 異常値(例:売上が1万以上、3000以下)を自動で強調
  • 特定の閾値を基準にして注意喚起を促す
  • プレゼン資料で視覚的インパクトを出す

注意点

  • グラフの系列数や構造に応じて SeriesCollection(1) の部分を調整してください。
  • 棒グラフでは MarkerStyle は機能しません。折れ線グラフなどに適用してください。

まとめ

VBAでマーカーの見た目を動的に変更することで、視覚的に注目させたいデータを効果的に強調できます。報告資料やプレゼン資料の精度を高めたい場面で、非常に有効なテクニックです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次