Excel VBA質問箱 IV

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

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


36913 / 76738 ←次へ | 前へ→

【45000】Re:住所の表示
回答  Kein  - 06/12/9(土) 14:34 -

引用なし
パスワード
   置換処理を追加するなら、判定するための数式が複雑になりすぎるので、
maverickさんのようにループで一行ずつ見ていく形にした方がいいでしょう。
↓こんなコードで試してみて下さい。

Sub test_Rep()
  Dim i As Long, Pta As Long, Ptb As Long
  Dim Ptx As Long, Pty As Long, Ptz As Long
  Dim GetP As Long
  Dim txt As String, RepS As String

  Application.ScreenUpdating = False
  For i = Range("C65536").End(xlUp).Row To 1 Step -1
    txt = Cells(i, 3).Value
    Pta = InStr(1, txt, "東京都")
    Ptb = InStr(1, txt, "殿")
    If Pta > 0 And Ptb > 0 Then
      RepS = Mid$(txt, Pta, Ptb - Pta + 1)
      Ptx = InStr(1, RepS, "名前")
      Pty = InStr(1, RepS, "氏名")
      Ptz = InStr(1, RepS, "様方")
      If Ptx > 0 Then
       GetP = Ptx + 2
      ElseIf Pty > 0 Then
       GetP = Pty + 2
      End If
      If GetP > 0 Then
       RepS = WorksheetFunction _
       .Replace(RepS, GetP, Ptz - GetP, "●●●●")
       GetP = 0
      End If
      Cells(i, 3).Value = RepS
    Else
      Rows(i).Delete
    End If
  Next i
  Application.ScreenUpdating = True
End Sub

0 hits

【44908】住所の表示 初診者 06/12/5(火) 23:37 質問
【44909】Re:住所の表示 かみちゃん 06/12/5(火) 23:45 発言
【44911】Re:住所の表示 かみちゃん 06/12/6(水) 0:08 回答
【44910】Re:住所の表示 maverick 06/12/5(火) 23:57 回答
【44930】Re:住所の表示 Tk 06/12/6(水) 21:28 質問
【44931】Re:住所の表示 かみちゃん 06/12/6(水) 22:00 発言
【44932】Re:住所の表示 maverick 06/12/7(木) 0:07 発言
【44912】Re:住所の表示 Kein 06/12/6(水) 0:23 回答
【44950】Re:住所の表示 初診者 06/12/7(木) 19:40 発言
【44952】Re:住所の表示 かみちゃん 06/12/7(木) 19:55 発言
【44982】Re:住所の表示 初診者 06/12/8(金) 18:45 発言
【45000】Re:住所の表示 Kein 06/12/9(土) 14:34 回答

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