[852] 住所を分割して別々のセルに表示させたい
reki [2024/07/18 11:55:31]
1つのセルに住所が入っており、「都道府県」「市区町村」「番地~」といった感じに分割してそれぞれ別々のセルに表示させたいのですが、マクロで可能でしょうか?
1 | 2 | 3 | 4 |
愛知県豊田市豊田町1丁目 → 愛知県 | 豊田市 | 豊田町1丁目
三重県津市○○町◆◆ → 三重県 | 津市 | ○○町◆◆
よろしくお願いいたします。
Re: [852] 住所を分割して別々のセルに表示させたい
あすかぜ [2024/07/18 23:04:24]
マクロを書いてみました。
https://www.asukaze.net/soft/cassava/macro/asukaze/bbs852_20240718.cms
実行すると、1 列目の内容を「都道府県」「市区町村」「それ以降」に分割して、2 列目、3 列目、4 列目に表示します。
「三重県四日市市○○町」が「三重県」「四日市」「市○○町」ではなく「三重県」「四日市市」「○○町」となるように例外処理を書いていますが、漏れがあったらすみません。
また、今後市町村合併などで正しく分割できない市町村が増えるかもしれません。
よろしくお願いします。
Re: [852] 住所を分割して別々のセルに表示させたい
reki [2024/07/19 09:16:23]
完璧に希望通りのマクロでした。
ありがとうございます!
Re: [852] 住所を分割して別々のセルに表示させたい
reki [2024/07/19 09:52:09]
すいません。住所が落ちてくるセルの場所が5列目になるみたいなのですが修正は可能でしょうか?
5 | 6 | 7 | 8 |
愛知県豊田市豊田町1丁目 → 愛知県 | 豊田市 | 豊田町1丁目
三重県津市○○町◆◆ → 三重県 | 津市 | ○○町◆◆
お手数をお掛けして申し訳ないですが、何卒よろしくお願いいたします。
Re: [852] 住所を分割して別々のセルに表示させたい
あすかぜ [2024/07/19 21:11:52]
マクロの中で、[1.y] [2,y] [3,y] [4,y] などがセルの値を読み書きしている部分です。
マクロの最後の部分を次のように [5,y] [6,y] [7,y] [8,y] に書き換えることで、処理の対象を 5 列目から 8 列目にできると思います。
for (y = 1; y <= Bottom; y++) {
s = [5,y];
p = prefLength(s);
[6,y] = s.substring(0, p);
s = s.substring(p);
p = cityLength(s);
[7,y] = s.substring(0, p);
[8,y] = s.substring(p);
}
試してみてください。
Re: [852] 住所を分割して別々のセルに表示させたい
reki [2024/07/22 13:10:17]
ありがとうございます!
解決しました!!