Excel VBAでA列に入力された住所からB列に最寄り駅を表示するマクロは、地理情報を扱う場合の自動化に便利です。この記事では、VBAでの基本的な設計方法やデータ管理、検索ロジックの考え方を解説します。
住所と最寄り駅のデータ管理
まず、住所と最寄り駅の対応データをどのように管理するかが重要です。簡易的には別シートに表を作り、住所をキー、最寄り駅を値として保持します。
例:Sheet2にA列:住所、B列:最寄り駅
VBAで検索する基本方法
VBAでは、VLookupやFindメソッドを使って住所に対応する最寄り駅を検索できます。
例:Dim addr As String, station As String
addr = Cells(i, 1).Value
station = Application.WorksheetFunction.VLookup(addr, Sheets("Sheet2").Range("A:B"), 2, False)
Cells(i, 2).Value = station
ループで複数行対応
A列に複数の住所がある場合は、Forループで順番に処理します。
例:For i = 2 To lastRow
addr = Cells(i, 1).Value
'VLookupで最寄り駅取得
Cells(i, 2).Value = Application.WorksheetFunction.VLookup(addr, Sheets("Sheet2").Range("A:B"), 2, False)
Next i
エラー処理とデータの存在チェック
住所がデータ表に存在しない場合はエラーになるため、On Error Resume NextやIf IsError()で対処します。
例:On Error Resume Next
station = Application.WorksheetFunction.VLookup(addr, Sheets("Sheet2").Range("A:B"), 2, False)
If IsError(station) Then station = "不明"
Cells(i, 2).Value = station
まとめ
住所から最寄り駅を表示するVBAマクロは、住所-駅の対応表を用意し、VLookupやFindで検索する設計が基本です。複数行の処理やエラー対応を組み込むことで、より実用的で安定したマクロを作成できます。データを整理し、検索ロジックを明確にすることが成功のポイントです。


コメント