- ベストアンサー
ifステートメントで表現したいのですが、
65以上、90以下ならをifステートメントで表現したいのですが、 If i >= 65 And i <= 90 Then endif であってますか? もっとスマートな書き方があった気がしたのですが・・・
- みんなの回答 (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文にこだわるのかなど)があれば、文章で質問に説明して質問すること。
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
>であってますか? 一つのIfステートメントでなら其の通りです。 Select Caseを使うなら Select Case i Case 65 To 90 処理 Case Else End Select Accessデータベースでなら、Betweenを使う方法もありますけど。。。
お礼
ありがとうございました。
不等号の方向を合わせて If 65 <= i AND i <=90 Then と書くやりかたもあります。
お礼
ありがとうございました。
- weavaest
- ベストアンサー率15% (157/1020)
オフィス系ソフトのカテなので、VBAの話ですよね。 比較対象の変数は"i"ですよね。 65以上かつ90以下ってことですよね。65以上または90以下であれば、条件式は不要ですよね。 これで良いと思います。スマートな書き方は思いつかないです。
お礼
ありがとうございました。
お礼
ありがとうございました。