|
かみちゃん お世話になっています。
>「お名前」か「氏名」の位置をInStrで検索して、Mid関数で取り出し、
>その取り出した文字列の後に、一定の文字列「●●●●様方」か「●●●●殿」を
>付加するのではいけませんか?
InStr、Mid関数がどんなものか調べてみますが、今できた所まで・・・
「様方」の後ろの名前まで入れようか悩んで、できれば欲しい部分を
増やしたいと思って改造してみました。
セルへの出力はこのくらいなら変えられますので受取人の最後に「殿」を付けます。
C1 〒123-4567 東京都台東区1丁目-15お名前 石田ケンジ様方山田太郎殿
C2 01-1111-1111
C3
C4
C5 〒888-8888東京都〇〇市1番-1235氏名山川豊様方 鈴木二郎殿03-3333-3333
C6
C7
C8
C9
C10
C11 東京都足立区10番-253 お名前木村卓也様方佐藤三郎殿
C12 04-4444-4444
maverickさんのを利用して
Sub test()
Dim i As Long, txt As String
For i = Range("C65536").End(xlUp).Row To 1 Step -1
txt = Cells(i, 3).Value
If txt Like "*東京都*殿*" Then
Cells(i, 3).Value = Mid$(txt, InStr(1, txt, "東京都"), _
InStr(1, txt, "殿") - InStr(1, txt, "東京都") + 1)
Else
Rows(i).Delete
End If
Next i
End Sub
東京都台東区1丁目-15お名前 石田ケンジ様方山田太郎殿
東京都〇〇市1番-1235氏名山川豊様方 鈴木二郎殿
東京都足立区10番-253 お名前木村卓也様方佐藤三郎殿
↓
東京都台東区1丁目-15お名前 ●●●●様方山田太郎殿
東京都〇〇市1番-1235氏名●●●●様方 鈴木二郎殿
東京都足立区10番-253 お名前●●●●様方佐藤三郎殿
のように、「お名前」か「氏名」〜「様方」の間を
全て「●●●●」に変えたいです。
Keinさんのは長いので理解が不十分です・・・すみません。
東京都〇〇市1番-1235氏名山川豊様方 鈴木二郎殿0
と0が付いてきます・・・?
Sub Set_MyAddress()
Dim MyR As Range
Application.ScreenUpdating = False
With Range("C1", Range("C65536").End(xlUp))
With .Offset(, 253)
.Formula = "=IF(OR(ISERR(FIND(""東京"",$C1))," & _
"ISERR(FIND(""殿"",$C1))),1," & _
"MID($C1,FIND(""東京"",$C1)," & _
"FIND(""殿"",$C1)+2-FIND(""東京"",$C1)))"
.Copy
.PasteSpecial xlPasteValues
Set MyR = .SpecialCells(2, 2)
End With
.ClearContents
MyR.Copy .Cells(1)
End With
Columns("$C:$C").AutoFit
Range("$IV:$IV").ClearContents: Set MyR = Nothing
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
|
|