もし、文字列に番地があるときは、
「番地」で文字列を分けて、さらに、
もし、分けたときに右側が0文字以上の時と0文字の時に、
条件分岐して連結文字を変えて、
後で繋ぎ押してはいかがでしょうか?
番地が2回以上文字列の中に存在することをチェックするなら、
さらに一工夫必要ですが。
ExcelVBA
1Sub test()
2 Dim v
3 Dim vv
4 Dim s As String
5 Const ss As String = "番地"
6
7 For Each v In Array("〇番地〇号", "〇番地", "〇〇")
8 vv = v
9
10 If InStr(v, ss) > 0 Then
11 vv = Split(v, "番地")
12 If Len(vv(1)) > 0 Then
13 s = "-"
14 Else
15 s = "「」"
16 End If
17 vv = Join(vv, s)
18 End If
19
20 MsgBox vv
21 Next
22End Sub
あぁあああ。。。。。。
セル範囲を一括で置換したいという事なら、再考します。
置換機能でやるなら、単純には出来ないので、
作業列や作業シートを使って、
順次加工していく感じになると思います。
数式を使うことも視野に入れると、柔軟に対応できるかと思います。
上のサンプルの考え方を踏襲するなら、
データの区切り位置とかの機能を使ってもいいですね。
あとはアイデア次第で、使えるものを使い倒す感じでどうですかね?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/23 17:03