色々、調べてみたら過去にこんなのをやっていました。


(元データ)

C列

目黒区下目黒1丁目

渋谷区渋谷3丁目

品川区品川1丁目


上記のようなデータがC列に210個あって、下記のように1丁目とか数字の部分で分けたいという処理についてです。


(結果データ)

G列            H列 

目黒区下目黒     1丁目

渋谷区渋谷      1丁目

品川区品川      1丁目


Sub 丁目で分ける()

Dim s As String
Dim c As Long
Dim ik As Long

For ik = 1 To 210
s = Range("C" & ik).Value
For c = 1 To Len(s)
If isnumeric(Mid(s, c, 1)) Then
Debug.Print c & "文字目でした"
Exit For
End If
Next
Range("G" & ik).Value = Left(s, c - 1)
Range("H" & ik).Value = Mid(s, c)
Next

End Sub


つまり数字(この場合だったら、変数のc)を見つけてしまえば、あとは不要です。


このExit For のネタ少し引っ張ります。