【ExcelVBA】セルに簡単な棒グラフを書き出すには

この記事では、セルに簡単な棒グラフを書き出す方法についてご説明します。

【動画】セルに簡単な棒グラフを書き出す実際の動き

本題に入る前に、まずは次の動画をご覧ください。


C列の値分だけ「|」の文字をD列に出力しています。

上記の動画だと、例えば点数(C列の値)が81の場合は、81個「|」の文字並べてをD列のセルに出力しています。

マクロ作成の流れ

STEP.1
String関数を使って指定の文字列を指定した数分返す
String関数を使って指定の文字列を指定した数分返します。
今回は、指定の数とは「点数」の値を指します。

Excelファイルの例

今回は次のExcelファイルを作成しました。

マクロを実行すると下の画像の通りになります。

点数(C列の値)の数だけ、D列のセルに「|」の文字を出力しています。

例えば2行目の点数の値は81ですが、「|」を81個Dのセルに出力しています。

他の点数の場合も、その点数の数だけ「|」をD列のセルに出力しています。

Excelのマクロのコード(例)

Option Explicit

Sub work()

    Dim cnt     As Integer      'カウンタ変数
    Dim score   As Integer      '得点用変数

    For cnt = 2 To 6
    
        '点数を遠陬scoreに格納する
        score = Worksheets("work").Cells(cnt, 3)
    
        '点数の数だけ「|」の文字をセルに出力する
        Worksheets("work").Cells(cnt, 4).Value = String(Number:=score, character:="|")

    Next cnt

End Sub

注目すべきコード

見て頂きたいのは14行目です。

        '点数の数だけ「|」の文字をセルに出力する
        Worksheets("work").Cells(cnt, 4).Value = String(Number:=score, character:="|")

コードの説明

以上のコードは、点数(C列の値)の値だけ「|」の文字並べてD列のセルに出力する処理のコードです。

String関数は、指定した値の分だけセルに指定した文字列を出力する関数です。

引数Numberに値を指定すると、その値だけ引数characterに指定した文字列を返します。

以上のコードのNumberには変数scoreを、characterには「|」の文字を指定していますが、この変数scoreの値の数だけ繰り返し「|」の文字を返します。

動作確認

マクロ実行前

今回は以下のExcelファイルを用意しました。

マクロ実行後

マクロを実行すると、C列の値だけ「|」の文字を繰り返しD列に出力しています。

最後に

この記事では、セルに簡単な棒グラフを書き出す方法についてご説明しました。

棒グラフと言っても、実は単純に文字列を繰り返し出力していることで棒グラフっぽい見た目のものを生成しているだけです。

なのであまり使う機会はないかもしれませんが、「|」の文字だけでなく他の文字を使って見た目を変えて出力させてみると面白いと思うので、ちょっとした棒グラフっぽいものを出力したいという時は本記事を参考にしてみてくださいね。

プログラミングのスキルを習得するなら

プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。

プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。

→ TechAcademyの「1週間 無料体験」はこちら