この記事では、縦棒グラフのY軸の単位(めもり)を変更する方法についてご説明します。
この記事で扱うグラフは、以下の記事でご紹介したマクロで生成したグラフを使って、縦棒グラフのY軸の単位(めもり)を変更します。
【ExcelVBA】サブフォルダ含めて全てのフォルダ内のファイルの数を拡張子別に縦棒グラフで表示するにはちなみに、グラフのY軸とはグラフの縦軸のことを指します。
以上のグラフではデータの件数が少ないので見やすいですが、データ件数が多い場合にY軸の単位(めもり)が小さいと以下のように非常に見づらくなってしまいます。
データ件数が多い場合でもY軸が詰まった状態に見えることを回避させるために、今回はこのY軸の単位(めもり)を自由に変更できるようにするためのマクロについてご説明します。
【動画】縦棒グラフのY軸の単位(めもり)を変更する実際の動き
本題に入る前に、まずは次の動画をご覧ください。
サブフォルダ含めて全てのフォルダ内のファイルを取得したら、ファイルの種類ごとにいくつファイルがあるのか集計します。
集計したら、その集計した結果をグラフに参照させて表示させます。
マクロ作成の流れ
グラフ用のインスタンスを生成することで、Y軸の単位(めもり)を変更したいグラフを操作することができるようになります。
Excelファイルの例
今回は次のExcelファイルを用意しました。
以上のExcelファイルのグラフは、以下の記事で生成したグラフです。
【ExcelVBA】サブフォルダ含めて全てのフォルダ内のファイルの数を拡張子別に縦棒グラフで表示するには以上のグラフのY軸の目盛りをマクロで変更します。
試しに、Y軸の目盛りが「1」の設定を、マクロで「10」に変更させてみると下の画像の通りになります。
コードの例
Option Explicit Private Sub btn_cngYaxgpVal_Click() Dim ws As Worksheet 'ワークシート変数 Dim chartObj As ChartObject 'グラフ用変数 'シートを取得する Set ws = Worksheets("work") 'グラフ用のインスタンスを生成する Set chartObj = ws.ChartObjects(1) With chartObj.Chart 'Y軸の目盛りを手動に設定できるようにする .Axes(xlValue).MajorUnitIsAuto = False 'Y軸の目盛を設定する .Axes(xlValue).MajorUnit = ws.Range("yaxgpVal").Value End With End Sub
注目すべきコード①
最初に見て頂きたいのは12行目です。
'グラフ用のインスタンスを生成する Set chartObj = ws.ChartObjects(1)
コードの説明
以上のコードは、グラフ用のインスタンスを生成するコードです。
グラフ用のインスタンスを生成することで、Y軸の単位(めもり)を変更したいグラフを操作することができるようになります。
注目すべきコード②
次に見て頂きたいのは14行目から22行目です。
With chartObj.Chart 'Y軸の目盛りを手動に設定できるようにする .Axes(xlValue).MajorUnitIsAuto = False 'Y軸の目盛を設定する .Axes(xlValue).MajorUnit = ws.Range("yaxgpVal").Value End With
コードの説明
以上のコードは、縦棒グラフのY軸の単位(めもり)を変更する処理のコードです。
Y軸の目盛りを手動に設定できるようにし、MajorUnitプロパティにExcelのシートに入力された値(「Y軸の目盛りを変更」ボタンの下にある黄色いセル)を設定します。
MajorUnitプロパティに設定された値のとおりりに、縦棒グラフのY軸の単位(めもり)が変更されます。
動作確認
「Excelファイルの例」をご覧ください。
最後に
この記事では、縦棒グラフのY軸の単位(めもり)を変更する方法についてご説明しました。
縦棒グラフのY軸の単位(めもり)を自由に変更したいときは本記事を参考にしてみてくださいね。
プログラミングのスキルを習得するなら
プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。
プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。