Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


30174 / 76732 ←次へ | 前へ→

【51827】Re:住所を分けたい
発言  じゅんじゅん  - 07/10/6(土) 16:40 -

引用なし
パスワード
   ▼りんご さん:
>すいません。質問の仕方が悪かったようですね。
>住所は例えで、住所の中には区がないものもあります。
>
>例  札幌市中央区中央町1丁目1-1
>   小樽市小樽町1-1-1小樽マンション111
>などが1000件ほどあります。
>これを番地以降のマンション111に分けたかったのです。
>わかりにくくてすいません。

>元データ"L" 住所取り出し"P" アパート"Q"としたのですが
横から失礼します。

○○番地○号でも対応できるように考えてみました。

Sub Test()
Dim Rexp As Object
Dim st As String, st1 As String
Dim Match As Object, Matches As Object
Dim i As Long
Set Rexp = CreateObject("VBScript.Regexp")
Rexp.Pattern = "-[0-9,0-9]+[^-]|号"

For i = 1 To Range("L" & Rows.Count).End(xlUp).Row
   st = Range("A" & i).Value
   Set Matches = Rexp.Execute(st)
     For Each Match In Matches
       If Match.Value = "号" Then
        st1 = Right(st, Len(st) - (Match.Length + Match.FirstIndex))
       Else
        st1 = Right(st, Len(st) - (Match.Length + Match.FirstIndex - 1))
      End If
      Exit For
     Next Match
   Range("P" & i).Value = Left(st, Len(st) - Len(st1))
   Range("Q" & i).Value = st1
Next
End Sub
ご参考になれば。

0 hits

【51750】住所を分けたい りんご 07/10/3(水) 15:26 質問
【51751】Re:住所を分けたい ひげくま 07/10/3(水) 16:24 発言
【51752】Re:住所を分けたい りんご 07/10/3(水) 16:48 質問
【51754】Re:住所を分けたい ハチ 07/10/3(水) 17:22 発言
【51755】Re:住所を分けたい りんご 07/10/3(水) 18:15 質問
【51756】Re:住所を分けたい ハチ 07/10/3(水) 18:31 発言
【51770】Re:住所を分けたい ハチ 07/10/4(木) 10:06 発言
【51823】Re:住所を分けたい りんご 07/10/6(土) 14:43 質問
【51824】Re:住所を分けたい G-Luck 07/10/6(土) 15:13 回答
【51825】Re:住所を分けたい りんご 07/10/6(土) 16:17 質問
【51826】Re:住所を分けたい G-Luck 07/10/6(土) 16:25 発言
【51827】Re:住所を分けたい じゅんじゅん 07/10/6(土) 16:40 発言
【51830】Re:住所を分けたい りんご 07/10/6(土) 17:22 質問
【51831】Re:住所を分けたい じゅんじゅん 07/10/6(土) 17:58 発言
【51832】Re:住所を分けたい じゅんじゅん 07/10/6(土) 18:05 発言
【51904】Re:住所を分けたい りんご 07/10/10(水) 15:43 お礼

30174 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free