SSブログ

excelVBA セルに色を設定する [excel]

excelVBA セルに色を設定する

はじめに

Excel VBA マクロのセルに色を設定する方法を紹介します。

文字色は Range.Font.Color プロパティまたは Cells.Font.Color プロパティで設定できます。

背景色は Range.Interior.Color プロパティまたは Cells.Interior.Color プロパティで設定できます。

色を取得するには「セルの色を取得する」をご覧ください。

セルを取得するには「セルや範囲を取得する」をご覧ください。

目次

セルに色を設定する

セルの範囲に色を設定する

指定したシートのセルに色を設定する

セルに色を設定する

色は「Rgb 関数」で取得した値を設定します。

Range の引数にセル名を指定すると、そのセルに色を設定できます。

Excelセル「A1」に色を設定するにはRange("A1").Font.Colorを入力します。

コピー

Range("A1").Font.Color = RGB(255, 0, 0) ' 文字色

Range("A1").Interior.Color = RGB(200, 200, 200) ' 背景色

"excel202524-698-1"
excel202524-698-1.jpg
Cells の引数にセルの行と列の番号を指定すると、そのセルに色を設定できます。

行「2」、列「A」に色を設定するにはCells(2, 1).Font.Colorを入力します。

コピー

Cells(1, 1).Font.Color = RGB(255, 0, 0) ' A1

Cells(2, 1).Font.Color = RGB(255, 0, 0) ' A2

Cells(1, 2).Interior.Color = RGB(255, 0, 0) ' B1

Cells(2, 2).Interior.Color = RGB(255, 0, 0) ' B2

ColorIndex プロパティを使用しても色を設定できます。それぞれの色に対応した数値を設定します。

コピー

Range("A1").Font.ColorIndex = 3 ' 赤

Range("A1").Interior.ColorIndex = 35 ' 黄緑

"excel202524-698-2"
excel202524-698-2.jpg
セルの範囲に色を設定する

セルの範囲「A1」~「B2」に同じ色を設定するにはRange("A1:B2").Font.ColorまたはRange("A1", "B2").Font.Colorを入力します。
コピー

Range("A1:B2").Font.Color = RGB(255, 0, 0) ' 文字色

Range("A1", "B2").Interior.Color = RGB(200, 200, 200) ' 背景色

"excel202524-698-3"
excel202524-698-3.jpg
Excel指定したシートのセルに色を設定する

シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。

Sheet1 を指定するにはWorksheets("Sheet1")またはWorksheets(1)を入力します。

"excel202524-698-4"
excel202524-698-4.jpg
コピー

' Sheet1 のセル「A1」に文字色を設定

Worksheets("Sheet1").Range("A1").Font.Color = RGB(255, 0, 0)

Worksheets(1).Range("A1").Font.Color = RGB(255, 0, 0)

' Sheet2 のセル「A1」に背景色を設定

Worksheets("Sheet2").Range("A1").Interior.Color = RGB(200, 200, 200)

Worksheets(2).Range("A1").Interior.Color = RGB(200, 200, 200)

Sheet1 に Range や Cells を入力すると、自身のシートのセルになります。自身を表すMe.が省略されています。

コピー

' どちらも同じコード

Range("A1").Value = "Sheet1"

Me.Range("A1").Value = "Sheet1"

標準モジュールに Range や Cells を入力すると、アクティブなシートのセルになります。アクティブシートを表すActiveSheet.が省略されています。

コピー

' どちらも同じコード

Range("A1").Value = "アクティブ"

ActiveSheet.Range("A1").Value = "アクティブ"
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。