オブジェクトRange プロパティ Font

Range

1. Fontプロパティとは?

Range.Fontプロパティは、Excel VBAでセルやセル範囲内のフォントに関する書式設定を行うためのプロパティです。このプロパティを使うことで、フォントの種類、サイズ、色、太字、斜体、下線など、見た目に関する様々な属性を動的に制御することができます。


2. 基本構文

Range("A1").Font.プロパティ名 = 値

例:

Range("A1").Font.Bold = True
Range("A1").Font.Name = "メイリオ"
Range("A1").Font.Size = 14

3. 主なプロパティ一覧と説明

プロパティ名説明
Nameフォント名(例:”Arial”)
Sizeフォントサイズ(例:11)
Bold太字(True/False)
Italic斜体(True/False)
Underline下線(種類:xlUnderlineStyleSingleなど)
Strikethrough取り消し線(True/False)
Colorフォントの色(RGBまたは定数)
ColorIndexインデックスによる色指定(古い形式)
ThemeColorテーマカラーの指定
TintAndShade明度・暗度の調整(-1~1)

4. 各プロパティの詳細

4.1 Font.Name

フォントの種類を指定します。

Range("A1").Font.Name = "MS Pゴシック"

4.2 Font.Size

フォントの大きさをポイント単位で指定します。

Range("A1").Font.Size = 16

4.3 Font.Bold / Font.Italic

太字、斜体に設定。

Range("A1").Font.Bold = True
Range("A1").Font.Italic = True

4.4 Font.Underline

下線を指定します。

Range("A1").Font.Underline = xlUnderlineStyleSingle

他に xlUnderlineStyleDouble などもあります。


4.5 Font.Strikethrough

取り消し線を指定。

Range("A1").Font.Strikethrough = True

4.6 Font.Color

フォントの色を RGB で指定。

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

または、定数を使うことも可能。

Range("A1").Font.Color = vbBlue

4.7 Font.ColorIndex

カラーパレットの番号で色指定。

Range("A1").Font.ColorIndex = 3  ' 赤色(古い方法)

4.8 Font.ThemeColor と TintAndShade

With Range("A1").Font
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.5
End With
  • ThemeColor: テーマのアクセントカラー番号
  • TintAndShade: 明るく(0~1)/暗く(-1~0)

5. 複数の書式を同時に設定

With Range("B2")
.Font.Name = "Calibri"
.Font.Size = 14
.Font.Bold = True
.Font.Color = RGB(0, 0, 128)
End With

6. 範囲全体に書式設定

Range("A1:C3").Font.Color = vbGreen
Range("A1:C3").Font.Size = 12

7. 条件による書式設定(色分け)

Dim cell As Range
For Each cell In Range("A1:A10")
If cell.Value > 100 Then
cell.Font.Color = RGB(255, 0, 0)
cell.Font.Bold = True
End If
Next

8. 書式のリセット

書式のみを削除する場合。

Range("A1:A10").Font.Bold = False
Range("A1:A10").Font.ColorIndex = xlColorIndexAutomatic

あるいは、すべての書式を削除。

Range("A1:A10").ClearFormats

9. 応用:見出しの強調

With Range("A1:D1").Font
.Bold = True
.Size = 14
.Color = vbWhite
End With

Range("A1:D1").Interior.Color = RGB(0, 102, 204)

10. 実用例:動的に入力されたセルを強調

Dim cell As Range
For Each cell In Range("B2:B20")
If cell.Value <> "" Then
With cell.Font
.Bold = True
.Color = RGB(0, 100, 0)
End With
End If
Next
タイトルとURLをコピーしました