
Book1のA列に記載されている市区町村番地を、別のファイルであるBook2のA列とB列に、それぞれ市区町村と番地に分けて転記するVBAを教えていただけますでしょうか。
住所は半角全角が入り交じっていますが、どちらかに統一するのではなく、記載されているとおりに転記したいです。
全角だけ、もしくは半角だけを抜き出すマクロは見つけたのですが、どちらであっても分割できるマクロがわかりません。
下記の住所を、、、
Book1
A列
港区赤坂1−2−3
港区赤坂1-2-3
港区赤坂1-2−3
下記のように分割して別ファイルに転記
Book2
A列 B列
港区赤坂 1−2−3
港区赤坂 1-2-3
港区赤坂 1-2−3
お知恵をお貸し下さい。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんばんは!
元データはSheet1のA2セル以降にあり、Sheet2に表示するとします。
尚、「番地」は必ず数値から始まるものとします。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, k As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Range("A:B").ClearContents
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Len(.Cells(i, "A"))
If Mid(StrConv(.Cells(i, "A"), vbNarrow), k, 1) Like "[0-9]" Then Exit For
Next k
If k < Len(.Cells(i, "A")) Then
wS.Cells(i, "A") = Left(.Cells(i, "A"), k - 1)
wS.Cells(i, "B").NumberFormatLocal = "@"
wS.Cells(i, "B") = Replace(.Cells(i, "A"), wS.Cells(i, "A"), "")
End If
Next i
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
ありがとうございます!こちらで完璧にできました。
私がいろんなところから引っ張ってきたコードを組み合わせて作った長〜いマクロがあるのですが、それの仕上げで住所分割をする必要があり困ってました。
今日の午前中で一度提出だったのですが、いただいたコードをいじらせていただき何とか間に合わせることができました。
本当に感謝感激でございます。
こういうのが自分で書けるようになったら最高ですね。憧れてしまいます。
私も引き続き勉強がんばります!
本当にありがとうございました!

No.2
- 回答日時:
補足要求です。
1)拡張子について
book1の拡張子はxlsですか、xlsxですか、xlsmですか。
book2の拡張子はxlsですか、xlsxですか、xlsmですか。
2)シート名について
book1のA列のシート名はなんですか。
book2のA,B列のシート名はなんですか。
3)番地は0~9(全角及び半角)、ハイフン”-”(全角及び半角)以外の文字はないと考えてよいですか。
間にスペース等はないと考えてよいですか。下記例参照
港区赤坂1-2 −3
4)見出し
book1,book2ともに1行目は見出しと考えてよいですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLのリンク切れをマクロを使っ...
-
B列の最終行までA列をオート...
-
VBAでのリスト不一致抽出について
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
rowsとcolsの意味
-
エクセル 2つの表の並べ替え
-
【VBA】2つのシートの値を比較...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
エクセルで行を挿入し、小計、...
-
SetDlgItemTextの使い方について
-
【Excel VBA】 B列に特定の文字...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
グリッドの列の最大値を求めたい。
-
IIF関数の使い方
-
文字列の結合を空白行まで実行
-
複数csvを横に追加していくマク...
-
ExcelVBAでテキストルーレット...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
VBAのFind関数で結合セルを検索...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
【VBA】2つのシートの値を比較...
-
DataGridViewに空白がある場合...
-
VBAで、特定の文字より後を削除...
-
URLのリンク切れをマクロを使っ...
-
エクセル 2つの表の並べ替え
-
VBAコンボボックスで選択した値...
-
VBAを使って検索したセルをコピ...
-
VBAでのリスト不一致抽出について
-
複数csvを横に追加していくマク...
-
C# dataGridViewの値だけクリア
-
データグリッドビューの一番最...
おすすめ情報