| 
    
     |  | ▼UO3 さん: ありがとうざいます。
 希望通り走りました。
 また、詳細に解説までいただきまことにありがとうございます。
 自分の解釈違いが理解できました。
 
 正規表現でなくとも十分でございます。
 仰るように混乱すると思いますので。
 
 あと、すみませんが
 Like 演算子とワイルドカードと、Or や Andは併用できないのでしょうか。
 ネットで検索してもよくわかりませんでした。
 コンパイルはできるのですがabendします。
 
 
 Sub Sample2()
 Dim v As Variant
 Dim i As Long
 
 With Sheets(1)
 v = .Range("A2", .Range("A" & .Rows.Count).End(xlUp)).Offset(, 4).Value
 ReDim Preserve v(1 To UBound(v, 1), 1 To 16)  '★
 For i = 1 To UBound(v, 1)
 If v(i, 1) Like "*海*" And "*潮*" Then v(i, 2) = 1 '<=abnormal end します
 If v(i, 1) Like "*山*" Or "*峰*" Then v(i, 3) = 1 '<=これもまたabnormal end します
 If v(i, 1) Like "*川*" Then v(i, 4) = 1
 If v(i, 1) Like "*池*" Then v(i, 5) = 1
 If v(i, 1) Like "*森*" Then v(i, 6) = 1
 If v(i, 1) Like "*林*" Then v(i, 7) = 1
 If v(i, 1) Like "*木*" Then v(i, 8) = 1
 If v(i, 1) Like "*空*" Then v(i, 9) = 1
 If v(i, 1) Like "*星*" Then v(i, 10) = 1
 If v(i, 1) Like "*月*" Then v(i, 11) = 1
 If v(i, 1) Like "*光*" Then v(i, 12) = 1
 If v(i, 1) Like "*夢*" Then v(i, 13) = 1
 If v(i, 1) Like "*幻*" Then v(i, 14) = 1
 If v(i, 1) Like "*音*" Then v(i, 15) = 1
 If v(i, 1) Like "*波*" Then v(i, 16) = 1
 
 Next
 .Range("E2").Resize(UBound(v, 1), UBound(v, 2)).Value = v
 End With
 
 End Sub
 
 |  |