|
Sheet1のA列に所有者名称が記載されていますが、
その名称によって「所有者コード」に分類することになりました。
例えば、「株式会社 日本」や「日本寺」、「医療法人 日本会」、
「鳩山太郎」などが羅列していますので
個人名以外をあいまい検索を行って、B〜Dのコードに置き換えています。
コード入力時の「b〜d」以外は”Else”の部分となりますが、
b〜dを順番に処理を行うことで、残る所有者名称の列は、
1文字または1バイト以外が個人名ということになります。
そこを判断させた後に「A」に書き換えたいと思っていますが、
その場合の記述が分りませんし、何か良い方法はあるでしょうか。
わたしの分る範囲でVBAを書いてみました。
どうか宜しくお願い致します。
Option Explicit
Sub コード置き換え()
Dim StrInput As String
StrInput = InputBox("所有者コードを「小文字」で入力してください")
ElseIf StrInput = "b" Then
With Worksheets("Sheet1").Range("A2:A65536")
.Replace What:="*寺*", Replacement:="B", _
SearchOrder:=xlByColumns, MatchByte:=False
.Replace What:="*宮*", Replacement:="B", _
SearchOrder:=xlByColumns, MatchByte:=False
.Replace What:="*神社*", Replacement:="B", _
SearchOrder:=xlByColumns, MatchByte:=False
End With
ElseIf StrInput = "c" Then
With Worksheets("Sheet1").Range("A2:A65536")
.Replace What:="*会社*", Replacement:="C", _
SearchOrder:=xlByColumns, MatchByte:=False
.Replace What:="*(有)*", Replacement:="C", _
SearchOrder:=xlByColumns, MatchByte:=False
.Replace What:="*(株)*", Replacement:="C", _
SearchOrder:=xlByColumns, MatchByte:=False
.Replace What:="*(株)*", Replacement:="C", _
SearchOrder:=xlByColumns, MatchByte:=False
End With
ElseIf StrInput = "d" Then
With Worksheets("Sheet1").Range("A2:A65536")
.Replace What:="*法人*", Replacement:="D", _
SearchOrder:=xlByColumns, MatchByte:=False
End With
Else
' ここにどのような記述をすれば良いのでしょう?
End If
End Sub
|
|