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
.Font
はRange
オブジェクトのサブオブジェクトなので、さらにその中のプロパティにドット記法でアクセスします。
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
このように、Font
とInterior
を組み合わせて設定することで、表の見た目を整えたり、視認性を向上させたりできます。
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による書式クリア
Font
やInterior
で設定した書式を削除したい場合、以下のようにします:
Range("A1:D10").ClearFormats
または個別にプロパティをリセット:
With Range("A1")
.Font.ColorIndex = xlColorIndexAutomatic
.Interior.ColorIndex = xlColorIndexNone
End With
9. 注意点
Font
やInterior
はセルの表示にのみ影響し、数値や計算結果には直接関係しません。Merge
(セル結合)した範囲への書式設定は、結合セル全体に対して行う必要があります。Font
やInterior
は読み取り・書き込みともに可能なオブジェクトです。
10. まとめ
項目 | Font | Interior |
---|---|---|
役割 | 文字の見た目の設定 | セルの背景(塗りつぶし)設定 |
主な設定項目 | フォント名、サイズ、色、太字、斜体など | 背景色、パターン、パターン色 |
色の指定方法 | Color , ColorIndex | Color , ColorIndex |
応用 | 条件による色変更、見出し強調、報告書装飾など |