目次

目的

  • 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」とクイックヒントが表示されました。

「-4105」と表示されている。
「-4105」と表示されている。

「xlColorIndexAutomatic」の定数の値は「-4105」と定義されているようです。

テスト環境

  • Windows 10(64 ビット)
  • Microsoft Office Excel 2003

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

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿