- ベストアンサー
for文のstepについて
for i=1 to 10 step 4と書くと i=1 5 9の順番だと思いますが、 一番最後のi=10も処理して欲しいのですが、 そのようなことは出来ますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub コマンド6_Click() Dim I As Integer Dim J As Integer Dim S As Integer J = 10 S = 4 For I = 1 To J Step S Debug.Print I If I + S > J And I <> J Then I = J - S End If Next I End Sub 理屈は前の回答と同じです。
その他の回答 (3)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
- seth0128
- ベストアンサー率0% (0/1)
まず質問を行う前に使用している言語について書いておくと解答者が答えやすいと思います。 また、そのfor文でどういうことをしたいのかも添えてあるとより良いです。 これはBASICのfor文についての質問ですね。 BASICはあまり使ったことがないのですが調べてみたところ stepで増分を決定しているようなのでそのfor文はi=1,5,9のときのみ実行されるようです。 そのfor文中ではi=10のときにfor文の中身(繰り返し部分)を実行するのは無理だと思うので for文の外にi=10のときの動作に相当する文を書くかstep4を使用せず step1としてif文で1,5,9,10のときのみ特定の動作をするように書いてみてはいかがでしょう。
- play_with_you
- ベストアンサー率37% (112/301)
できません。stepでそんなことができたら訳分からん。 For Each i In Array(1, 5, 9, 10) とか、 For i = 1 to 10 の中でSelect Case分岐 とかでしょう。
お礼
ありがとうございます。 ちなみに、開始No終了Noステップ数は変数なので、 今は、i mod step=1か最終Noの時、処理するようにしています。