目次
目的
- ExcelVBA でセルの文字色を変更したい。
- 文字色をカラーインデックス番号で指定したい。
- 文字色を自動設定に戻したい。
テストしてみました。
題材
題材として以下のワークシートを準備してみました。
マクロの一例
下記マクロを作成してみました。 ColorIndex プロパティにインデックス番号という数字を設定しています。
Sub 文字色変更()
Range("A1:A2").Font.ColorIndex = 3 '赤
Range("B1:B2").Font.ColorIndex = 4 '緑
Range("C1:C2").Font.ColorIndex = 5 '青
End Sub
上記マクロを実行してみると、下記の結果になりました。文字色が変更されています。
文字色を自動設定に戻すマクロも作成してみました。
上記マクロでは、番号を指定しましたが、文字色を自動に戻す場合は、「xlColorIndexAutomatic」というキーワードを設定するようです。
Sub 文字色を自動に戻す()
Range("A1:C5").Font.ColorIndex = xlColorIndexAutomatic '自動
End Sub
上記マクロを実行してみると、以下の画像の結果になりました。
「xlColorIndexAutomatic」のキーワードは定数(ていすう)というものらしく、 ExcelVBA のレベルで既に定義されているようです。
定数の中身は値になっているようです。 VBE(マクロの編集画面)で「クイックヒント」を使用して調べてみます。
マクロのコードの「xlColorIndexAutomatic」のキーワードに文字の入力カーソルを合わせて、「Ctrl+I(アイ)」キーを押すと、「-4105」とクイックヒントが表示されました。
「xlColorIndexAutomatic」の定数の値は「-4105」と定義されているようです。
テスト環境
- Windows 10(64 ビット)
- Microsoft Office Excel 2003
以上、閲覧ありがとうございました。