Range.Font / Interior

Range

1. はじめに

Excel VBAでは、セルの見た目を自在に操作することが可能です。その中でも代表的なのが:

  • Font:セルのフォント(文字の書式・スタイル)
  • Interior:セルの塗りつぶし(背景色)

これらはRangeオブジェクトのプロパティとして扱われ、それぞれサブオブジェクトとしてさらに詳細な属性を持ちます。


2. Range.Fontプロパティの概要

2-1. 役割

Fontプロパティは、セル範囲の文字の書式を管理するオブジェクトです。
以下のような情報を設定できます:

  • フォント名(Arial, メイリオ など)
  • フォントサイズ
  • 太字・斜体・下線
  • 文字色
  • 文字飾り(取り消し線、小型大文字 など)

2-2. 主なプロパティ一覧

プロパティ名説明
Nameフォント名"Arial"
Sizeフォントサイズ(ポイント)12
Bold太字(True/False)True
Italic斜体(True/False)False
Underline下線(xlUnderlineStyle)xlUnderlineStyleSingle
Color / ColorIndex文字の色(RGBまたはインデックス)RGB(255,0,0)(赤)
Strikethrough取り消し線(True/False)True
Subscript下付き文字(True/False)False
Superscript上付き文字(True/False)False

2-3. 使用例

Sub フォント書式設定()
With Range("A1")
.Value = "Hello VBA"
With .Font
.Name = "メイリオ"
.Size = 14
.Bold = True
.Italic = True
.Underline = xlUnderlineStyleSingle
.Color = RGB(0, 0, 255) ' 青
End With
End With
End Sub
  • .FontRangeオブジェクトのサブオブジェクトなので、さらにその中のプロパティにドット記法でアクセスします。

3. Range.Interiorプロパティの概要

3-1. 役割

Interiorプロパティは、セルの**塗りつぶし(背景)**を制御するオブジェクトです。
これにより、セルの背景色やパターンの種類・色を指定できます。

3-2. 主なプロパティ一覧

プロパティ名説明
Color塗りつぶし色(RGB値)RGB(255,255,0)(黄色)
ColorIndexカラーパレット番号(1~56)6(黄色)
Pattern塗りつぶしパターンの種類xlSolid(単色)
PatternColorパターンの前景色RGB(255,0,0)(赤)
PatternColorIndexパターンの前景色インデックス3

3-3. 使用例

Sub セル背景色設定()
With Range("B2")
.Value = "背景色設定済み"
With .Interior
.Color = RGB(255, 255, 153) ' 薄い黄色
.Pattern = xlSolid
End With
End With
End Sub

4. FontとInteriorの組み合わせ例

Sub 見出しスタイル適用()
With Range("A1:D1")
.Merge
.Value = "売上報告"

With .Font
.Name = "Calibri"
.Size = 16
.Bold = True
.Color = RGB(255, 255, 255) ' 白
End With

With .Interior
.Color = RGB(0, 102, 204) ' 濃い青
.Pattern = xlSolid
End With

.HorizontalAlignment = xlCenter
End With
End Sub

このように、FontInteriorを組み合わせて設定することで、表の見た目を整えたり、視認性を向上させたりできます。


5. Font.ColorとInterior.Colorの違い

要素プロパティ名使用用途
文字色Font.Color文字そのものの色
背景色Interior.Colorセルの背景色

いずれもRGB関数またはカラーインデックスを使って色を指定します。


6. 色の指定方法

RGB関数による指定(推奨)

Range("A1").Font.Color = RGB(255, 0, 0)      ' 赤
Range("A1").Interior.Color = RGB(255, 255, 0) ' 黄色

ColorIndexによる指定(互換性重視)

Range("A1").Font.ColorIndex = 3      ' 赤
Range("A1").Interior.ColorIndex = 6 ' 黄色
  • ColorIndexは古い互換用で、Excelのパレットカラーに依存します。
  • ColorはRGBで16,777,216色の指定が可能です。

7. 条件付きでの書式変更例

Sub 点数評価色分け()
Dim rng As Range
Set rng = Range("C2:C10")

Dim cell As Range
For Each cell In rng
If IsNumeric(cell.Value) Then
If cell.Value >= 80 Then
cell.Font.Color = RGB(0, 128, 0) ' 緑
ElseIf cell.Value >= 60 Then
cell.Font.Color = RGB(255, 165, 0) ' オレンジ
Else
cell.Font.Color = RGB(255, 0, 0) ' 赤
End If
End If
Next
End Sub

8. ClearFormatsによる書式クリア

FontInteriorで設定した書式を削除したい場合、以下のようにします:

Range("A1:D10").ClearFormats

または個別にプロパティをリセット:

With Range("A1")
.Font.ColorIndex = xlColorIndexAutomatic
.Interior.ColorIndex = xlColorIndexNone
End With

9. 注意点

  • FontInteriorはセルの表示にのみ影響し、数値や計算結果には直接関係しません。
  • Merge(セル結合)した範囲への書式設定は、結合セル全体に対して行う必要があります。
  • FontInteriorは読み取り・書き込みともに可能なオブジェクトです。

10. まとめ

項目FontInterior
役割文字の見た目の設定セルの背景(塗りつぶし)設定
主な設定項目フォント名、サイズ、色、太字、斜体など背景色、パターン、パターン色
色の指定方法Color, ColorIndexColor, ColorIndex
応用条件による色変更、見出し強調、報告書装飾など
タイトルとURLをコピーしました