目次
8 色
今回は、 VBA の色の定数を使用したマクロを作成してみました。色数は 8 色ですが、 vbRed(赤)、vbGreen(緑)、vbBlue(青)など、色の名前で直接的に指定可能なようです。
今回使用する色の定数は VBA の中で既に準備されている組み込みの定数のようなので、ユーザー定義で定数を宣言する必要がなく、キーワードのまま使用すると、その定数の持っている値を使用出来るようです。
VBA で準備されている定数は、キーワード単体では値の上書きも出来るようですが、同性同名で住所が違う状態のようで VBA の管理下では元の値は変わらないようです。
Sub vbRed()
Const vbRed = 999
Debug.Print vbRed '出力結果=999
Debug.Print VBA.ColorConstants.vbRed '出力結果=255
End Sub
マクロの一例
下記マクロを作成してみました。文字、罫線、背景の色を、色の定数で設定しています。
Sub 色の定数を使用したマクロ()
With Range("A1:C3")
.Value = "ColorConstants"
.Font.Color = vbRed '文字
.Interior.Color = vbGreen '罫線
.Borders.Color = vbBlue '背景
End With
End Sub
上記マクロを実行してみると、以下の画像の結果になりました。イメージ通りの結果になっています。
罫線の青が分かりやすいように拡大してみます。
全色使用
色の定数を全色使用した下記マクロも作成してみました。
Sub 色の定数を全色使用()
Dim a As Range
Set a = Range("A4:A11")
a.Value = "ColorConstants"
a(1).Font.Color = vbBlack '黒 'CMYK の ブラック
a(2).Font.Color = vbRed '赤 'RGB の R
a(3).Font.Color = vbGreen '緑 'RGB の G
a(4).Font.Color = vbYellow '黄 'CMYK の イエロー
a(5).Font.Color = vbBlue '青 'RGB の B
a(6).Font.Color = vbMagenta 'CMYK の マゼンタ
a(7).Font.Color = vbCyan 'CMYK の シアン
a(8).Font.Color = vbWhite '白
a(8).Resize(, 2).Interior.Color = vbCyan '文字が白なので分かりやすいように着色している
End Sub
上記マクロを実行してみると、下記画像のようになりました。並べてみるとバリエーション豊かですね。
テスト環境
- Windows 10(64 ビット)
- Microsoft Office Excel 2003
以上、閲覧ありがとうございました。