回答編集履歴
2
数字の後に「号又は号室」で終わる場合は、OKとするようにしました。
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
Dim rematch As Object
|
25
25
|
building = ""
|
26
26
|
Set RE = CreateObject("VBScript.RegExp")
|
27
|
-
RE.Pattern = "([0-90-9])([^0-90-9]+)([0-90-9])*$"
|
27
|
+
RE.Pattern = "([0-90-9])([^0-90-9]+)([0-90-9])*(号|号室)?$"
|
28
28
|
RE.Global = True
|
29
29
|
Set rematch = RE.Execute(addr)
|
30
30
|
If rematch.Count < 1 Then Exit Sub
|
@@ -34,4 +34,6 @@
|
|
34
34
|
全て、上記のパターン通りならこれで問題ないはずですが、例外がある場合は、その都度対応が必要かと思います。
|
35
35
|
このマクロでは
|
36
36
|
東京都○区○○1丁目漢字荘123 は "丁目漢字荘" を抽出します。
|
37
|
-
東京都○区○○1丁目1漢字荘123号室 は "号室" を抽出します。
|
37
|
+
~~東京都○区○○1丁目1漢字荘123号室 は "号室" を抽出します。~~
|
38
|
+
提示されたケース以外に例外があるようでしたら、追記してください。
|
39
|
+
対応可能であれば、対応します。
|
1
回答に補足を付け足しました。
test
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
提示された例をみると、以下の方法でとりだすことができそうです。
|
2
2
|
数字と数字の間に挟まれた数字以外で構成される文字列。
|
3
|
+
上記の文字列が取り出せれば、建物名となります。
|
3
4
|
```vba
|
4
5
|
Sub ExtractData()
|
5
6
|
Dim rng As Range
|