マクロのコード確認とその意味


マクロの記録で生成したコードをVisual Basic Editor(VBE)で確認

Excel 2013マクロ講座 コードの意味と確認

マクロの中身を見るにはVBEで

マクロの記録で生成したコードをVisual Basic Editor(VBE)で確認してみます。
ここでは、VBEの起動方法と、記録されたコードを確認し、コードの意味を解説します。
(サンプルファイルは、こちらから 2013マクロ講座2回サンプルデータを利用しています。

Visual Basic Editorを起動してマクロの中身を見る

「開発」タブの「コード」グループにあるマクロをクリックします。

マクロダイアログボックスが表示されます
ここで、マクロ名のリストから、表示させたいマクロを選択し、編集ボタンをクリックします。

Visual Basic Editorが起動して、マクロを記録して作成したコードが表示されています。

マクロの記録で作成されたコードです。(コメント部分は省略しています。)
Sub Macro1()
    Range("B5:B10").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent1
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With
    Range("C4:F4").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With
End Sub
    
Sub セルの背景設定() と書いてあります。
マクロの名前が「Sub」と「()」で囲まれています。

「'」以降はプログラムとしては関係ない部分。
行の先頭に「」が付いているのはコードではなくコメントという意味です。
説明やメモを書くときに行頭に「'」を使います。

もちろん、この部分が無くてもチャンと動きます。


コードの意味

行ごとに説明していきます。


1番目の
Range("B5:B10").Select
   これは、範囲B5:B10を選択
2番めの、
With Selection.Interior
   これは、選択したInderiorプロバティに対して
3番目の .Pattern = xlSolid
   これは、「Pattern プロパティー」を「xlSolid」にする
4番目の.PatternColorIndex = xlAutomatic
これは、「PatternColorIndexプロパティー」を 「xlAutomatic」にする
5番目の.ThemeColor = xlThemeColorAccent1
これは、ThemeColorをxlThemeColorAccent1にする
6番目の .TintAndShade = 0.799981688894314
これは、TintAndShade(色の明るさ)を0.799981688894314にする
7番目の.PatternTintAndShade = 0
これは、Pattern TintAndShadeを0にする
8番目のEnd With
これは、Withで始まったステートメントを終わる
マクロの前半の部分ですが、セルの色を変更しただけなのに、随分コードが多いと感じたと思いますが、マクロの記録では、余分なコードも記載されてしまいます。

Interior(ぬりつぶし属性)には、背景色の他にもセットされている項目があるからです。
Excelにもどって、ホームタブのフォントグループの右下の矢印をクリックしてセルの書式設定ダイアログを表示させてみてください。
ぬりつぶしタブをクリックすると、設定項目が複数あることが確認できますね。
マクロの記録では設定しない項目も、設定しないという設定(?なんだか変ですね。)になります。

次回は、マクロを編集して、余分なコードを削除したり、既存のマクロをコピーして新しいマクロを作成したりしましょう。

今日の講義は以上です。お疲れ様でした。