都道府県コード取得マクロ ができるまで
やってみよう
住所から都道府県名を取得する
各住所データを見てみると、都道府県名から始まっていることがわかります。
つまり、はじめの3文字か4文字かでどこの都道府県かわかるというわけです。
ちなみに4文字なのは神奈川県、和歌山県、鹿児島県の3つだけです。
*2
Dim 都道府県名 As String 都道府県名 = Left("[都道府県列の値]", 4) Select Case 都道府県名 Case "神奈川県", "和歌山県", "鹿児島県" Case Else 都道府県名 = Left(都道府県名, 3) End Select Debug.Print 都道府県名
真面目にやろうとすると、こんな感じでしょうか。
例外が3つ程度で、それで全てだとわかっているからこれでいいと思いますが、そうでない場合は違う方法が必要かもしれません。
繰り返す
1件だけ取得しても3文字と4文字どちらも大丈夫が確認できないので、今回はこの段階で繰り返しをやってみます。
Sub test() Dim 都道府県名 As String Dim i As Long Dim maxRow As Long maxRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To maxRow 都道府県名 = Left(Cells(i, 2), 4) Select Case 都道府県名 Case "神奈川県", "和歌山県", "鹿児島県" Case Else 都道府県名 = Left(都道府県名, 3) End Select Debug.Print 都道府県名 Next End Sub
最終行を取得し、for文で回しています。
群馬県 鳥取県 北海道 東京都 広島県 富山県 神奈川県 福岡県 山梨県 岐阜県 兵庫県 和歌山県 東京都 愛知県 : :
とりあえずイミディエイトウインドウで確認できたところで、今日は終了。
*1:http://yamagata.int21h.jp/ こちらのテストデータジェネレータを使わせていただきました