[[20070824102402]] 『ある文字より右側を消す』(123456) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ある文字より右側を消す』(123456)
ただいま住所録を編集中ですが、住所の○市とか○郡までしか必要としないのでそれより右を自動で消したいのですが、どうしたらいいでしょうか? よろしくお願いします。

 『住所を離す方法』(5963)
http://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=[[20050121161337]]

すみません ありがとうございました〜♪


解決済みですが,作ってみました。
 A列2行目から住所が記載されているとして
 B列に自動で処理して記載します。(ものずき)

  Sub test2()

 lastrow = Cells(Rows.Count, 1).End(xlUp).Row
 For i = 2 To lastrow

  fn = InStr(Cells(i, 1), "市")
  If fn = 0 Then
   fn = InStr(Cells(i, 1), "郡")

    End If
  If fn = 0 Then
  Cells(i, 2) = Cells(i, 1)
  Else
  ad2 = Left(Cells(i, 1), fn)
  Cells(i, 2) = ad2
  End If

  Next

 End Sub


 回答ではないですが。
 ある意味、市川市とか郡山市とかの判断が難しいですよね。
 (夏バテ)

(夏バテ)さん

 そうですね。その辺は人間が介在しないとうまくいきませんね。
 InStrRev を使って末尾から調査処理すれば誤処理はすくなるなるかも。(ものずき)

上のように直してみました。。(ものずき)

 Sub test3()

 lastrow = Cells(Rows.Count, 1).End(xlUp).Row
 For i = 2 To lastrow

  fn = InStrRev(Cells(i, 1), "市")
  If fn = 0 Then
   fn = InStrRev(Cells(i, 1), "郡")

    End If
  If fn = 0 Then
  Cells(i, 2) = Cells(i, 1)
  Else

  ad2 = Left(Cells(i, 1), fn)
  Cells(i, 2) = ad2
  End If

  Next

End Sub


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.