Excel VBA | データ修正(Offset × 条件分岐 × Replace)の黄金パターン集

Excel VBA VBA
スポンサーリンク

ここでは Offset × 条件分岐 × Replace を組み合わせて「セルの値を検証し、修正した結果を隣列や下段に出力する」黄金テンプレをまとめます。
入力データのクレンジングや表記揺れ修正など、実務で頻出する処理を一括整理しました。


基本パターン 10選

1. 全角スペースを半角スペースに修正

Dim r As Range
For Each r In Range("A2:A20")
    If InStr(r.Value, " ") > 0 Then
        r.Offset(0, 1).Value = Replace(r.Value, " ", " ")
    End If
Next r
VB

👉 全角スペースを検出して半角に置換。


2. 特定文字列を削除

Dim r As Range
For Each r In Range("B2:B20")
    If InStr(r.Value, "(株)") > 0 Then
        r.Offset(0, 1).Value = Replace(r.Value, "(株)", "")
    End If
Next r
VB

👉 会社名の「(株)」を削除して右隣に修正版を出力。


3. NGワードを置換

Dim r As Range
For Each r In Range("C2:C20")
    If InStr(r.Value, "NG") > 0 Then
        r.Offset(0, 1).Value = Replace(r.Value, "NG", "※")
    End If
Next r
VB

👉 NGワードを「※」に置換。


4. 記号を削除

Dim r As Range
For Each r In Range("D2:D20")
    If InStr(r.Value, "-") > 0 Then
        r.Offset(0, 1).Value = Replace(r.Value, "-", "")
    End If
Next r
VB

👉 ハイフンを削除して右隣に修正版を出力。


5. 半角カナを全角カナに修正(例示)

Dim r As Range
For Each r In Range("E2:E20")
    If InStr(r.Value, "ア") > 0 Then
        r.Offset(0, 1).Value = Replace(r.Value, "ア", "ア")
    End If
Next r
VB

👉 半角カナを全角カナに置換。


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, "0000")
    End If
Next r
VB

👉 数字を4桁ゼロ埋めに修正。


7. 日付フォーマット修正

Dim r As Range
For Each r In Range("G2:G20")
    If IsDate(r.Value) Then
        r.Offset(0, 1).Value = Format(r.Value, "yyyy/mm/dd")
    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 InStr(r.Value, "東京") > 0 Then
        r.Offset(0, 1).Value = Replace(r.Value, "東京", "TOKYO")
    End If
Next r
VB

👉 「東京」を「TOKYO」に置換。


✅ まとめ

  • Offset → 修正結果を隣列へ出力
  • 条件分岐 → 特定文字列・空白・日付・数値などを判定
  • Replace → 表記揺れや不要文字を置換してクレンジング
  • 黄金パターン → スペース修正・記号削除・NGワード置換・フォーマット統一・大小文字変換

💡 この「データ修正 × Offset × 条件分岐 × Replace」パターン集を使えば、売上表・勤怠表・在庫表などの 入力データクレンジング を自動化できます。

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