• ベストアンサー

ifステートメントで表現したいのですが、

65以上、90以下ならをifステートメントで表現したいのですが、 If i >= 65 And i <= 90 Then endif であってますか? もっとスマートな書き方があった気がしたのですが・・・

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

こんなところへ、すぐ質問しないで実例でやってみたら。 解説本にもこの程度のことなら例として載っているように思う。VBかVBAの質問かも書いてないよ。 VBAなら A1:A100までのセルに1から100の連続番号を入れて 標準モジュールに Sub test01() Dim i, j As Integer For j = 1 To 100 i = Worksheets("Sheet1").Range("A" & j) If i >= 65 And i <= 90 Then ’ <--質問のコード部分 Range("B" & j) = "Y" End If '<--質問のコード部分 Next j End Sub を実行してYの入った行を見れば, 視覚的に正しいかどうか確認できるだろう。 VBでもIF文のかきかた、ANDの使い方として可能なはず。 SQLと違ってBetweenは使えないと思う。 Case文で記述するのが明解とは思う。 ーー もっと深い質問理由(なぜIF文にこだわるのかなど)があれば、文章で質問に説明して質問すること。

CVHZUDKON
質問者

お礼

ありがとうございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

>であってますか? 一つのIfステートメントでなら其の通りです。 Select Caseを使うなら Select Case i Case 65 To 90 処理 Case Else End Select Accessデータベースでなら、Betweenを使う方法もありますけど。。。

CVHZUDKON
質問者

お礼

ありがとうございました。

noname#212058
noname#212058
回答No.2

不等号の方向を合わせて If 65 <= i AND i <=90 Then と書くやりかたもあります。

CVHZUDKON
質問者

お礼

ありがとうございました。

  • weavaest
  • ベストアンサー率15% (157/1020)
回答No.1

オフィス系ソフトのカテなので、VBAの話ですよね。 比較対象の変数は"i"ですよね。 65以上かつ90以下ってことですよね。65以上または90以下であれば、条件式は不要ですよね。 これで良いと思います。スマートな書き方は思いつかないです。

CVHZUDKON
質問者

お礼

ありがとうございました。

関連するQ&A