- ベストアンサー
【VBA】全角半角入り交じった住所を分割
eden3616の回答
- eden3616
- ベストアンサー率65% (267/405)
RegExpオブジェクトによる正規表現で判定して番地部分をB列へ記載するサンプルです。 コード内の番地のパターン『([1-9]|[1-9]).+』が番地部分を指定しています。 (現在は半角または全角の数値から始まる最後の文字までを番地として扱う) マッチしない場合は適切に番地のパターン文字列を変更することで対応できます。 Sub sample() Dim myRng As Range, r As Range, mc As Object, mymc As Object, i As Long With CreateObject("VBScript.RegExp") '正規表現の設定 .pattern = "([1-9]|[1-9]).+" '番地のパターン .IgnoreCase = True .Global = True '対象のシートを新規ブックに複製 ActiveSheet.Copy '対象の範囲(A列1行目~最終行)に繰り返し実行 For Each r In Range(Range("A1"), Cells(Cells(Rows.Count, "A").End(xlUp).Row, "A")) If .Test(r.Formula) Then Set mc = .Execute(r.Value) Debug.Print mc.Item(0).Value r.Offset(0, 1).NumberFormatLocal = "@" r.Offset(0, 1).Value = "" & mc.Item(0).Value r.Value = Left(r.Value, Len(r.Value) - Len(mc.Item(0).Value)) For Each mymc In mc For i = 0 To mymc.SubMatches.Count - 1 Next i Next mymc End If Next r End With End Sub
関連するQ&A
- 住所の番地とそのあとを分割したい
住所の番地とそのあとを分割したい のです 例えば 「東京都港区赤坂1-2-3メゾン赤坂505」というデータがあった時に メゾン赤坂505のみをセル分割したいのです 番地は算用数字のみです どなたかご存じでしょうか?
- 締切済み
- その他MS Office製品
- 住所の番地とそのあとを分割したい
住所の番地とそのあとを分割したい のです 例えば 「東京都港区赤坂1-2-3メゾン赤坂505」というデータがあった時に メゾン赤坂505のみをセル分割したいのです 番地は算用数字のみです どなたかご存じでしょうか?
- 締切済み
- その他MS Office製品
- 住所のセル分割について VBA
マクロについてお尋ねします。 A1のセル ●●市山田町1-1山田ハウス111号 のように町名と番地(全角数字)とアパート・マンション名が続けて入っているセルがいくつもあります。 これを B1→ ●●市山田町 C1→ 1-1山田ハウス111号 ※住所を前から見ていき、全角数字(1~9)が出たらC1に分割 のように2つのセルに分割したいのです。 A1のセルで全角数字(1~9)のいずれかの数字が出たら その数字からC1に分割したいのですがどのようにすればいいのでしょうか。 町名と番地(1-1)の間にはなにもありません。 また番地までの住所の長さはまちまちです。 よろしくお願いいたします。
- ベストアンサー
- Microsoft ASP
- 全角半角を意識した文字分割
A列 B列 C列 D列 E列 あいうえおかきくけこ あ いう えお か アイウエオカキクケコ アイウ エオ カキ ク あイウえオかきくけこ あ イウえ オか き 先ほど同じような質問を一度しているのですが、 A列に全角半角混在のテキスト項目があります。 B列、C列、D列、E列に以下のルールで分割したいのですが、 Excel関数で 実現可能でしょうか? 可能な場合は式をご教授して頂けますでしょうか。宜しくお願い致します。 ※全角をバイト数指定で分割して文字化けしないように全角半角を考慮して分割した いと考えております。 B列(半角3文字) A列3桁目が半角の場合は半角3文字 A列3桁目全角の場合は半角2文字(全角1文字) C列 (半角4文字) A列4桁目が半角の場合は、左端4桁目~半4文字分 A列4桁目が全角の場合は、左端3桁目~半角4文字 D列(半角4文字) A列7桁目が半角の場合は、左端7桁目~半4文字分 A列7桁目が全角の場合は、左端6桁目~半角4文字 E列(半角2文字) A列11桁目が半角の場合は、左端11桁目~半2文字分 A列11桁目が全角の場合は、左端10桁目~半角2文字
- ベストアンサー
- オフィス系ソフト
- 全角半角考慮した文字列分割
A列 B列 C列 あいうえおかきくけこ あいうえ おかきくけこ アイウエオカキクケコ アイウエオカキクケ コ あいうえオかきくけこ あいうえオ かきくけこ A列に全角半角混在のテキスト項目があります。 B列、C列に以下のルールで分割したいのですが、Excel関数で 実現可能でしょうか?可能な場合は式をご教授して 頂けますでしょうか。宜しくお願い致します。 ※全角をバイト数指定で分割して文字化けしないように 全角半角を考慮して分割したいと考えております。 B列 A列9桁目が半角の場合は半角9文字 A列9桁目全角の場合は半角8文字(全角4文字)をB列へ C列 A列10桁目が半角の場合は、左端10桁目~半角9文字 A列10桁目が全角の場合は、左端9桁目~半角9文字
- ベストアンサー
- オフィス系ソフト
- 半角文字で入力した住所を全角に
EXCEL 2003を使用しています。住所一覧表を作成してて、各サイト上の住所をコピーして貼り付けしてたら、番地などが半角数字だったり全角数字だったりして統一されていませんでした。都合上、数字を全角に変更したいのですが・・・。 住所を入力しているセルは、県名から番地までをひとつのセルに記入してます。
- ベストアンサー
- オフィス系ソフト
- Excel VBAに詳しい方教えてください。
Excel VBAについて 下記内容をマクロを使ってできるようにしたいのですが、どなたかお力添えいただけませんか? 例えば、下記のような記載のファイルBook1があるとします。 A1セル内 名前 B1セル内 〇〇会社 C2セル内 〇〇部 D2セル内 〇〇係 この内容を別のファイルBook2へ転記したいのです。 ただし、Book2の列は下記のようになっており A列 名前(すでに入力されている) B列 会社名 C列 部 D列 課 E列 係 Book1の内容をBook2の下記の条件で正しいセルへ転記したいです。 -Book1で[部]で終わっているものはBook2のB列[部]に転記 -Book2ですでに入力されている名前の行に、Book1の情報を転記 ご協力のほど何卒よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- Excelで全角ハイフンを半角ハイフンに変換したい
住所録を修正しています。 番地をJIS関数で全角に変換しました。 でもハイフンは以下のように半角にしたいのです。 例)港区3-3-1を港区3-3-1 何か一括変換できる手段をご存知でしたら教えてください。 件数が多く手入力修正はきついです。
- ベストアンサー
- オフィス系ソフト
- Excelで、数字・英数字・-のみを全角→半角にする & 3000番地2を3000-2表示にしたい
マクロ初心者です。 どなたか教えてください。 宜しくお願い致します。 Excelで入力されている住所を整理したいと思いましたが、書いた人によって全角でかいてあったり、~番地2などと書いてあったりとまちまちだったため、マクロを使って整えようと思いました。 http://okwave.jp/qa355804.html を参考に、数字・英数字を半角にするマクロを作りました。 ですが、「-」を半角にするマクロをどう組み込めばいいのかわかりません。 また、~番地を「-」に変換するには、Excelのアドイン機能を使ってできるようなリンク(http://sml.jp/html/program01.html)があったので、ダウンロードして使っていたのですが、上記マクロに一緒に組み込めればと思っています。 どなたか教えてください。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
こちらも完璧でした!ありがとうございます! うーん、意味が想像つかないくらい、私には難解なコードです(苦笑) こんな記述が書けるなんてかっこ良いですね。本当に憧れます。 このレベルに行くのはまず無理ですが(^_^;)、コツコツ勉強続けたいと思います。ありがとうございましたm(_ _)m