• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELのFor文について)

EXCELのFor文での数値の逆順表示

このQ&Aのポイント
  • EXCELのFor文を使用して、数値の逆順表示を行いたい場合について教えてください。
  • 現在、Kishaku_MinからKishaku_Maxまでの数値を取得するようにしていますが、逆順で取得する方法がわかりません。
  • For文では逆順の取得ができないのでしょうか?VBA初心者なので、ご教授いただけると助かります。

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

  • ベストアンサー
  • YUKKER
  • ベストアンサー率44% (74/168)
回答No.1

For i = Kishaku_Max To Kishaku_Min Step -1 //処理 Next としてください。

thunder-sg
質問者

お礼

思い通りの結果が得られました。 ありがとうございます。 まだまだ、修業しないといけませんねー。

その他の回答 (3)

回答No.4

蛇足な追記。   ANo.2の回答を書いている最中は、まだ誰からも回答が付いていませんでした。   回答を書いている最中、まさか「予想通りのおっちょこちょいな回答者が現れる」とは予想していませんでした。   ですので、ANo.1の回答が「予想通り」だったのは「単なる偶然」であり、他意はありません。もちろん、特定の回答者に対する指摘でもありません。ご了解下さい。

  • emsuja
  • ベストアンサー率50% (1065/2116)
回答No.3

セルに入れルン数字を下記の式で取得すればいいのでは? Kishaku_Max - i + 1 こんな感じですね Kishaku_Min = 1  Kishaku_Max = 5 For i = Kishaku_Min To Kishaku_Max Cells(2, i).Value = Kishaku_Max - i + 1 Next i

thunder-sg
質問者

お礼

回答ありがとうございます。 皆さんのおかげでうまく処理することができました。 しかし、こういう系統の質問はレスが早いですねー。 皆様に感謝、感謝です!

回答No.2

For i = Kishaku_Min To Kishaku_Max のループの中で、セルに値をセットしている部分はどうなってますか?   たぶん ほげほげ.Value = i って書いてますよね?   これを ほげほげ.Value = i + 10 にしたら、どうなります?   iが1なら11、2なら12、3なら13になりますね?   これは、ループする値が1~5でも、値をセットする部分で「iを元に、計算した値」を使えば、1~5以外の値もセットできるって事を意味してます。   では、iが1なら5、2なら4、3なら3、4なら2、5なら1にするには?   ほげほげ.Value = 6 - i   って書けば良いのです。   なお、おっちょこちょいな回答者が   For i = Kishaku_Max To Kishaku_Min Step -1 にすれば良い。   と回答するかも知れませんが、これでは駄目です。   これでは「実行する順序が変わるだけで、5回やり終わった結果は最初と同じ」なので、元のプログラムと結果は一緒です。

thunder-sg
質問者

お礼

回答ありがとうございます。 おっちょこちょいな回答でうまくいきました。 Kishaku_Maxは5以上の場合もあるし、5以下の場合もあるので、これで行ってみます。

関連するQ&A