EXCEL VBAについて質問です。良い回答は100ptを差し上げます。

IF文にて、複数の指定文字列以外の時に処理を実行したいと思います。
例として、A列がりんご,バナナ,みかんの時は処理を実行しない。
If Worksheets("Sheet1").Cells(a, "A") <> "りんご" ? "バナナ" ? "みかん" Then
-------- -------
End If
以上、ご教授願います。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/09/24 15:24:24
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.2

回答回数4974ベストアンサー獲得回数2154

ポイント100pt

taknt さんの回答とは、別の書き方です。

b = Worksheets("Sheet1").Cells(a, "A")
If b <> "りんご" And b <> "バナナ" And b <> "みかん" Then
-------- -------
End If

りんごではない、バナナでもない、みかんでもない

という感じです。

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント50pt
b = Worksheets("Sheet1").Cells(a, "A")
If Not (b = "りんご" Or b = "バナナ" Or b = "みかん") Then
-------- -------
End If

そのままだと 一行が 長くなってわかりにくくなるので

とりあえず セルの内容を 変数に入れます。


で それ以外というのは not を用います。


りんご または バナナ または みかん 以外

という感じですね。

id:a-kuma3 No.2

回答回数4974ベストアンサー獲得回数2154ここでベストアンサー

ポイント100pt

taknt さんの回答とは、別の書き方です。

b = Worksheets("Sheet1").Cells(a, "A")
If b <> "りんご" And b <> "バナナ" And b <> "みかん" Then
-------- -------
End If

りんごではない、バナナでもない、みかんでもない

という感じです。

  • id:Mook
    普通に And でも良いと思いますが、
    With Worksheets("Sheet1").Cells(a, "A")
    If ( .Value <> "りんご" ) And ( .Value <> "バナナ" ) And ( .Value <> "みかん" ) Then
       :
    End If
    End With

    あるいはちょっとトリッキーですが、
    If InStr( "リンゴ/バナナ/みかん", Worksheets("Sheet1").Cells(a, "A").Value) = 0 Then
       :
    End If

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません