ここでは Offset × 条件分岐 × Format を組み合わせて「セルの値を判定し、指定フォーマットに変換して隣列へ出力する」黄金テンプレをまとめます。
売上表・勤怠表・在庫表などでよくある 日付・数値・文字列の統一フォーマット化 を自動化できます。
基本パターン 10選
1. 日付を「YYYY/MM/DD」形式に変換
Dim r As Range
For Each r In Range("A2:A20")
If IsDate(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "yyyy/mm/dd")
End If
Next r
VB👉 日付を統一フォーマットに変換。
2. 日付を「YYYY年MM月DD日」形式に変換
Dim r As Range
For Each r In Range("B2:B20")
If IsDate(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "yyyy年mm月dd日")
End If
Next r
VB👉 和式表記に変換。
3. 時刻を「HH:MM」形式に変換
Dim r As Range
For Each r In Range("C2:C20")
If IsDate(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "hh:nn")
End If
Next r
VB👉 勤怠表の出退勤時刻を統一。
4. 数値を「カンマ区切り」に変換
Dim r As Range
For Each r In Range("D2:D20")
If IsNumeric(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "#,##0")
End If
Next r
VB👉 売上金額をカンマ区切りで整形。
5. 数値を「小数点2桁」に変換
Dim r As Range
For Each r In Range("E2:E20")
If IsNumeric(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "0.00")
End If
Next r
VB👉 在庫単価などを小数点2桁に統一。
6. 数値を「百分率」に変換
Dim r As Range
For Each r In Range("F2:F20")
If IsNumeric(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "0.00%")
End If
Next r
VB👉 割合データを百分率表記に変換。
7. 数値を「ゼロ埋め」に変換
Dim r As Range
For Each r In Range("G2:G20")
If IsNumeric(r.Value) Then
r.Offset(0, 1).Value = Format(r.Value, "0000")
End If
Next r
VB👉 商品コードや社員番号をゼロ埋め。
8. 文字列を「大文字」に変換
Dim r As Range
For Each r In Range("H2:H20")
If r.Value <> "" Then
r.Offset(0, 1).Value = UCase(r.Value)
End If
Next r
VB👉 英字を大文字に統一。
9. 文字列を「小文字」に変換
Dim r As Range
For Each r In Range("I2:I20")
If r.Value <> "" Then
r.Offset(0, 1).Value = LCase(r.Value)
End If
Next r
VB👉 英字を小文字に統一。
10. 文字列を「先頭大文字」に変換
Dim r As Range
For Each r In Range("J2:J20")
If r.Value <> "" Then
r.Offset(0, 1).Value = StrConv(r.Value, vbProperCase)
End If
Next r
VB👉 各単語の先頭文字を大文字に変換。
✅ まとめ
- Offset → 変換結果を隣列へ出力
- 条件分岐 → 日付判定・数値判定・文字列判定で安全に処理
- Format → 日付・数値・文字列を統一フォーマット化
- 黄金パターン → 日付整形・数値整形・文字列整形を一括テンプレ化
💡 この「データ変換 × Offset × 条件分岐 × Format」パターン集を使えば、売上表・勤怠表・在庫表などの フォーマット統一・データ整形 を自動化できます。

