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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) EXCELでの複雑な複数条件について 4 2022/05/09 16:19
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Visual Basic(VBA) evcel VBAについて 2 2022/08/02 21:37
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
Excelで、あるセルの値に応じて...
-
マクロ 最終列をコピーして最終...
-
DataGridViewに空白がある場合...
-
VBAで、特定の文字より後を削除...
-
rowsとcolsの意味
-
B列の最終行までA列をオート...
-
VBAを使って検索したセルをコピ...
-
VBAで、離れた複数の列に対して...
-
マクロ 関数を使った抽出でエラ...
-
IIF関数の使い方
-
VBAで重複データを確認したい
-
Changeイベントでの複数セルの...
-
VBAのFind関数で結合セルを検索...
-
エクセル アクティブセルから...
-
文字列の結合を空白行まで実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
エクセルVBAにて =A1=B1とすれ...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
マクロについて。S列の途中から...
-
VBA UserFormからの転記で
-
targetをA列のセルに限定するに...
おすすめ情報