住所データは「全角と半角が混じる」「スペースがバラバラ」などの問題がよくあります。これを 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 101 | TOKYO CITY 101 |
| アパート 202 | アパート202 |
応用ポイント
- 郵便番号と組み合わせ → 「住所+郵便番号」を一括整形
- 正規表現を使う → より複雑なパターン(例: 番地の数字だけ抽出)に対応可能
- 別シートに保存 → 元データを残しつつクリーンデータを管理
💡 この処理を応用すれば「顧客リストの住所を一括整形」できます。

