Excel VBA質問箱 IV

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

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


8862 / 76732 ←次へ | 前へ→

【73438】Re:含まれる文字に応じ別の列にフラグを立てるには
発言  UO3  - 13/1/10(木) 15:51 -

引用なし
パスワード
   ▼にしもり さん:

>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の場合、文字列同士の 論理演算は不可能です。

229 hits

【73431】含まれる文字に応じ別の列にフラグを立てるには にしもり 13/1/9(水) 17:20 質問
【73432】Re:含まれる文字に応じ別の列にフラグを立... UO3 13/1/9(水) 21:28 発言
【73433】Re:含まれる文字に応じ別の列にフラグを立... にしもり 13/1/10(木) 10:06 質問
【73436】Re:含まれる文字に応じ別の列にフラグを立... UO3 13/1/10(木) 12:56 発言
【73437】Re:含まれる文字に応じ別の列にフラグを立... にしもり 13/1/10(木) 15:31 質問
【73438】Re:含まれる文字に応じ別の列にフラグを立... UO3 13/1/10(木) 15:51 発言
【73439】Re:含まれる文字に応じ別の列にフラグを立... にしもり 13/1/10(木) 16:21 お礼

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