質問: vbaでの"or"の使い方 お世話になります。 例えば、 sheet1のセルa1の値が"a"か"b"か"c"か"d"なら workbooks.opentext filename:="c::\documents and settings\abc.txt としたいのですが orの使い方が調べてもなかなか出てきません。 ご存知の方、ご教示下さい。
回答: 標準モジュールで sub test01() x = cells(1, "a") if x = "a" or x = "b" or x = "c" or x = "d" then msgbox "該当" end if end sub で判るだろう。 ーー 単なる確認テスト用ならsheet1のシートモジュールのchangeイベントで private sub worksheet_change(byval target as range) if target.address = "$a$1" then x = target.value if x = "a" or x = "b" or x = "c" or x = "d" then msgbox "該当" else msgbox "該当外" end if end if end sub sheet1のa1セルに値を入れるとメッセージが出る。 ========== sqlのinというようなのは使えない ーーー 配列にでもa,b,c,dを入れて1つずつループで聞いていくとか。 ーーー エクセルらしく、vlookup関数を使うとか。 "h1:h4"セルにはa,b,c,dを入れておく。 sub test02() dim y as variant for i = 1 to 10 x = cells(i, "a") msgbox x y = application.vlookup(x, range("h1:h4"), 1, false) if iserror(y) then cells(i, "b") = "notfound" else cells(i, "b") = "ok" end if next i end sub