目次

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

以上、閲覧ありがとうございました。

目次まで戻る

前後の投稿