- ベストアンサー
vba で数値の比較
現在、複数の変数同士の大小関係を比較して、 条件があっていれば○か×を特定のセルに出力する というマクロを作成しております。 "○"条件を満たした時、しっかりとそちら処理に流れるのですが、 何故か"×"の条件を満たしても、"×"の処理に入ってくれません。 そのままelseの方へ流れてしまいます。 数値の大小関係は何度も確認したのですが、間違ってはいません でした・・・ 自分の力では解決出来ませんでした(>_<)! どなたかお力添えをお願いします。 以下、問題の箇所です。 このif文より上の箇所では変数a(行座標)の設定と、 各変数への値の代入を行っています。 If lwma52(1) < ema21(1) < lwma13(1) _ And lwma13(2) < lwma13(1) _ And ema21(2) < ema21(1) _ And lwma52(2) < lwma52(1) _ And closes(2) < closes(1) < opens Then Cells(a, 25).Value = "○" ElseIf lwma52(1) > ema21(1) > lwma13(1) _ And lwma13(2) > lwma13(1) _ And ema21(2) > ema21(1) _ And lwma52(2) > lwma52(1) _ And closes(2) > closes(1) Then Cells(a, 25).Value = "×" Else Cells(a, 25).Value = "" End If よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなが選んだベストアンサー
例えば If lwma52(1) < ema21(1) < lwma13(1) _ をどういう意味だと思っているんだろうか? まさか If lwma52(1) < ema21(1) AND ema21(1) < lwma13(1) _ と同じ意味だと思っているんだろうか? もう一度、ヘルプとか文法書を見てね。
お礼
レスが大幅に遅れて申し訳ありません(>_<) f272 さんの言った通りの勘違いをしていました。 あの後、自分なりに調べたり、いくつかテストをしてみたのですが、 まだA<B<Cとした時の動きが分かりません(^-^;) 何にせよ、とても助かりました。 ありがとうございました。