Excel(エクセル)【10】マクロ作成のコツ4つ

Excel(エクセル)のマクロを身につけるには実際にプログラミングを行うことが重要です。マクロ作成にあたってはいくつのかのコツがあります。記事では特に重要だと思われる4つのポイントを解説するので参考にしてください。

VBEを起動する

Excel(エクセル)のマクロ作成のコツを身につけるためには、実際に手を動かすことが重要です。まずは「開発」>「Visual Basic」から、VBEを起動してください。もしくはショートカットキー「Alt + F11」で起動しても結構です。

ちなみに、今回サンプルで作成したマクロを実行すると下記のようにセルに色が付き、罫線がひかれます。実際に動作を確認しながら読みすすめてください。

Excel(エクセル)マクロ作成のコツ1_
コメントアウト

マクロのプログラムコード(VBA)は英語の羅列です。そのため日本人には意味が伝わりにくいかもしれません。そのような場合、日本語でメモを残すと理解が早いです。しかし単純にメモを書くとプログラムに干渉してしまいます。記入した文字を無効化する処理が必要です。この処理をコメントアウトと呼びます。

コメントアウトをするには、行頭にアポストロフィー「’」を入力してください。「’」を打った以降の文字はすべてコメントアウトされます。ただし、改行するとそれ以降の文字列はコメントアウトされません。

Sub セルに色を塗り罫線を引く()
    Range("A1:B2").Borders.LineStyle = xlContinuous '罫線を引きます
    Range("A1:B2").Interior.Color = RGB(200, 200, 200) '色を塗ります
End Sub

Excel(エクセル)マクロ作成のコツ2_
長過ぎるマクロは改行する

Excel(エクセル)のマクロを書いていると、一文が長くなるケースがあります。あまり長文になると可読性が下がってしまいます。そのため、適度に改行するのです。

ただし、文章と同じようにプログラムを改行するとエラーが発生します。そのため改行箇所には、「 _」半角スペースとアンダーバーを入力してください。

上記ルールに従えば、マクロはどこでも改行できます。しかし、単語の途中で区切ると読みにくいので注意しましょう。

Sub セルに色を塗り罫線を引く()
    Range("A1:B2").Borders.LineStyle _
    = xlContinuous '罫線を引きます
    Range("A1:B2").Interior.Color _
    = RGB(200, 200, 200) '色を塗ります
End Sub

Excel(エクセル)マクロ作成のコツ3_
複数行のマクロを結合する

Excel(エクセル)のマクロでは、プログラムを結合可能です。一文が短いプログラミングコードの場合、一行にまとめたほうが読みやすい場合があります。

複数行を結合するには、コロン「:」を間に記述してください。

Sub セルに色を塗り罫線を引く()
    Range("A1:B2").Borders.LineStyle = xlContinuous: Range("A1:B2").Interior.Color = RGB(200, 200, 200)
End Sub

Excel(エクセル)マクロ作成のコツ4_
Withステートメントでまとめる

例えば同じセルを対象にした処理を複数行に渡って処理する場合、対象セルの指定をまとめることが可能です。重複記述を省略できるのでプログラム構文がスッキリして読みやすくなります。その書式をWithステートメントと呼ぶのです。

Sub セルに色を塗り罫線を引く()
    With Range("A1:B2")
        .Borders.LineStyle = xlContinuous '罫線を引きます
        .Interior.Color = RGB(200, 200, 200) '色を塗ります
    End With
End Sub

上記のように「With」の隣に対象となる共通範囲を指定し、「End With」までの間に処理内容を記述します。

まとめ

Excel(エクセル)のマクロは、自分だけでなく誰が見てもわかりやすいプログラミングをすることが基本です。そのためにも、構文の見た目も美しく記述するように心がけましょう。このようにきれいなプログラミングを心がけることが、スキルアップのコツでもあります。

このテーマの関連記事はこちら