Excel VBA 逆引き集 | フォント設定

Excel VBA
スポンサーリンク

フォント設定

見出しを強調したい、可読性を上げたい、提出用の体裁を整えたい——そんなときに使う「フォントの名前・サイズ・太字・斜体・下線・取り消し線・上付き/下付き・色・配置」を、初心者向けに安全で短いコードでまとめます。基本は Range(…).Font の各プロパティを使います。


基本テンプレート:よく使うフォント設定

Sub FontBasics()
    With Range("B2:E2")
        .Font.Name = "Meiryo UI"     'フォント名
        .Font.Size = 11              'サイズ(ポイント)
        .Font.Bold = True            '太字
        .Font.Italic = False         '斜体オフ
        .Font.Underline = xlUnderlineStyleNone '下線なし
        .Font.Color = RGB(0, 0, 0)   '黒
        .HorizontalAlignment = xlCenter '中央揃え(文字配置)
        .VerticalAlignment = xlCenter   '縦方向中央
    End With
End Sub
VB
  • ポイント:
    • Name: フォント名は文字列で指定。日本語なら「メイリオ」「MS Pゴシック」など。
    • Size: ポイント指定の整数。見出しは 11–12、本文は 9–10 が目安。
    • Bold/Italic/Underline: 強調の基本。下線は定数で種類を選べます。
    • Color: RGB 推奨。視認性重視なら濃い色を選ぶ。

範囲・列・シートに一括適用

Sub FontForRange()
    Range("C3:E12").Font.Name = "Meiryo"
    Range("C3:E12").Font.Size = 10
End Sub

Sub FontForColumn()
    With Columns("B")
        .Font.Name = "Meiryo"
        .Font.Size = 10
    End With
End Sub

Sub FontForSheet()
    With Cells
        .Font.Name = "Meiryo UI"
        .Font.Size = 10
    End With
End Sub
VB
  • ポイント:
    • 範囲指定: 表だけ、列だけ、シート全体と用途に応じて適用範囲を切り替える。
    • 全体変更は慎重に: 既存の書式を壊さないよう、まずは対象を絞るのが安全。

強調・装飾のバリエーション

Sub FontEmphasisVariants()
    With Range("B2:E2")
        .Font.Bold = True                   '太字
        .Font.Italic = True                 '斜体
        .Font.Underline = xlUnderlineStyleSingle   '下線(単線)
        .Font.Strikethrough = False         '取り消し線
        .Font.Superscript = False           '上付き
        .Font.Subscript = False             '下付き
        .Font.Color = RGB(0, 112, 192)      '青系で強調
    End With
End Sub
VB
  • ポイント:
    • 下線の種類: 会計用なら xlUnderlineStyleDoubleAccounting なども選べる。
    • 上付き/下付き: 化学式や注記で使用。過度な装飾は可読性を下げるので控えめに。

見出し・本文のセットをワンショット適用

Sub ApplyHeaderBodyFonts()
    '見出し
    With Range("B2:E2")
        .Font.Name = "Meiryo UI"
        .Font.Size = 11
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
        .Interior.Color = RGB(217, 217, 217) '背景でさらに見やすく
    End With

    '本文
    With Range("B3:E100")
        .Font.Name = "Meiryo"
        .Font.Size = 10
        .Font.Bold = False
        .HorizontalAlignment = xlLeft
    End With
End Sub
VB
  • ポイント:
    • 役割分離: 見出しは太字・中央・背景色、本文は標準・左揃えが定番。
    • 列幅調整: 最後に Columns(“B:E”).AutoFit で幅を自動調整すると仕上がりが良い。

条件に応じて文字色・太字を切り替える

Sub FontByCondition()
    Dim last As Long, r As Long, c As Range
    last = Cells(Rows.Count, "E").End(xlUp).Row

    For r = 3 To last
        Set c = Cells(r, "E")
        If c.Value >= 1000000 Then
            c.Font.Color = RGB(192, 0, 0)   '赤
            c.Font.Bold = True
        Else
            c.Font.Color = RGB(0, 0, 0)     '黒
            c.Font.Bold = False
        End If
    Next
End Sub
VB
  • ポイント:
    • 簡易条件付き書式: 数値しきい値で強調。ルールが複雑なら「条件付き書式」機能の方が管理しやすい。

例題で練習

例題1:提出用の体裁(見出し青太字+本文標準)

Sub Example_SubmissionStyle()
    With Range("B2:E2")
        .Font.Name = "Meiryo UI"
        .Font.Size = 11
        .Font.Bold = True
        .Font.Color = RGB(0, 102, 204)
        .HorizontalAlignment = xlCenter
    End With
    With Range("B3:E100")
        .Font.Name = "Meiryo"
        .Font.Size = 10
        .Font.Color = RGB(0, 0, 0)
        .HorizontalAlignment = xlLeft
    End With
End Sub
VB

例題2:コード列は等幅フォントにしてズレを防ぐ

Sub Example_MonoForCodes()
    With Columns("A")
        .Font.Name = "MS Gothic" '等幅フォント(例)
        .Font.Size = 10
    End With
End Sub
VB

例題3:注記列に斜体+薄灰色で控えめに

Sub Example_NotesStyle()
    With Columns("G")
        .Font.Italic = True
        .Font.Color = RGB(128, 128, 128)
        .Font.Size = 9
    End With
End Sub
VB

実務の落とし穴と対策

  • フォント名の誤記や未インストール:
    • 対策: 実機のフォント一覧からコピーして指定。共有相手にないフォントは既定に置き換わるので、標準フォントの採用が無難。
  • 過剰装飾で読みにくい:
    • 対策: 強調は「色か太字のどちらか」。斜体・下線・取り消し線は必要最小限に。
  • 大量範囲で遅い:
    • 対策: Application.ScreenUpdating=False を併用し、対象を最小限に絞る。
  • 条件付き書式との競合:
    • 対策: VBAで直接 Font を変えると条件付き書式を上書きする。運用設計でどちらを使うか統一。
タイトルとURLをコピーしました