Excel VBA | Cells を使った住所クリーニング(全角→半角、不要なスペース削除)

VBA
スポンサーリンク

住所データは「全角と半角が混じる」「スペースがバラバラ」などの問題がよくあります。これを Cells を使って一括整形すると、郵送や顧客管理がスムーズになります。


コード例

Sub CleanAddress()
    Dim i As Long, lastRow As Long
    Dim addr As String
    
    ' A列の最終行を取得
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = 1 To lastRow
        addr = Cells(i, 1).Value
        
        ' 空白セルはスキップ
        If addr <> "" Then
            ' 前後の空白を削除
            addr = Trim(addr)
            
            ' 全角スペースを削除
            addr = Replace(addr, " ", "")
            
            ' 全角英数字を半角に変換
            addr = StrConv(addr, vbNarrow)
            
            ' 半角カタカナを全角に変換(必要なら)
            addr = StrConv(addr, vbWide)
            
            ' 整形後の住所をB列に出力
            Cells(i, 2).Value = addr
        End If
    Next i
End Sub
VB

解説

  • Trim(addr) → 前後の余計なスペースを削除
  • Replace(addr, " ", "") → 全角スペースを削除
  • StrConv(addr, vbNarrow) → 全角英数字を半角に変換
  • StrConv(addr, vbWide) → 半角カタカナを全角に変換(必要に応じて)

実行イメージ

A列(元データ)B列(クリーニング後)
東京都 江東区 亀戸1-1-1東京都江東区亀戸1-1-1
TOKYO CITY 101TOKYO CITY 101
アパート 202アパート202

応用ポイント

  • 郵便番号と組み合わせ → 「住所+郵便番号」を一括整形
  • 正規表現を使う → より複雑なパターン(例: 番地の数字だけ抽出)に対応可能
  • 別シートに保存 → 元データを残しつつクリーンデータを管理

💡 この処理を応用すれば「顧客リストの住所を一括整形」できます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました