|
▼にしもり さん:
>Like 演算子とワイルドカードと、Or や Andは併用できないのでしょうか。
>ネットで検索してもよくわかりませんでした。
>コンパイルはできるのですがabendします。
できますよ。
ただし、 Like で、できるかどうかということではなく If文で、どう書くかということなんです。
たとえば以下。
Sub Test1()
Dim s As String
s = "abcd海xyz"
If s Like "*海*" Or s Like "*山*" Then
MsgBox "海または山です"
Else
MsgBox "海でも山でもありません"
End If
s = "abcd川xyz"
If s Like "*海*" Or s Like "*山*" Then
MsgBox "海または山です"
Else
MsgBox "海でも山でもありません"
End If
End Sub
Sub Test2()
Dim s As String
s = "abcd海xyz山123"
If s Like "*海*" And s Like "*山*" Then
MsgBox "海かつ山です"
Else
MsgBox "海かつ山ではありません"
End If
s = "abcd川xyz"
If s Like "*海*" And s Like "*山*" Then
MsgBox "海かつ山です"
Else
MsgBox "海かつ山ではありません"
End If
End Sub
> 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 します
"*海*" And "*潮*" や "*山*" Or "*峰*" と記述すると、いわゆる【論理演算】としての
AND や OR を実行しようとします。
VBAの場合、文字列同士の 論理演算は不可能です。
|
|