Excel VBA | データ変換(Offset × 条件分岐 × Format)の黄金パターン集

VBA
スポンサーリンク

ここでは 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」パターン集を使えば、売上表・勤怠表・在庫表などの フォーマット統一・データ整形 を自動化できます。

タイトルとURLをコピーしました