[Excel] 住所を市町村までと番地以下で分ける

会社で導入しようとしている基幹システムの住所登録が住所を番地以下とそれ以外で分ける仕様になっていた。運送会社のデータベースから住所録をcsvで抜き出したらあたりまえだけどそんな風にはなっていない。ということで住所の文字列の中の数字を見つけて、そこで分けるマクロを作成。

しかし番地が漢数字で入っているものは手作業ポチポチ。。

VBAはPythonみたいに文字列を配列として扱えないのだろうか。ちょっと調べた限りではできないっぽかったので思いついたやりかたで。コードはこちらです。

Option Explicit

Sub divideAddress()

Dim address, letter, length, address1, address2 As String
Dim ini, last As Integer
Dim i, j As Integer


ini = 2
last = Cells(Rows.Count, 1).End(xlUp).Row

For i = ini To last

    address = Cells(i, 4).Value
    length = Len(address)

    For j = 1 To length
        letter = Mid(address, j, 1)
        If IsNumeric(letter) Then
            Exit For
        End If
        address1 = address1 + letter
    Next
    For j = j To length
        letter = Mid(address, j, 1)
        address2 = address2 + letter
    Next
    
    Cells(i, 5).Value = address1
    Cells(i, 6).Value = address2
    
    address1 = ""
    address2 = ""
    
    
    
Next


End Sub