フォント設定
見出しを強調したい、可読性を上げたい、提出用の体裁を整えたい——そんなときに使う「フォントの名前・サイズ・太字・斜体・下線・取り消し線・上付き/下付き・色・配置」を、初心者向けに安全で短いコードでまとめます。基本は 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 を変えると条件付き書式を上書きする。運用設計でどちらを使うか統一。
