Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11299 / 76735 ←次へ | 前へ→

【70974】Re:ループ後の変数の値について質問です
発言  kanabun  - 12/1/22(日) 22:07 -

引用なし
パスワード
   ▼nh さん:
>For i = 0 To 2
>Next
>この時、なぜ最終的に カウンタのiが3になってしまうの?

(流れを、トレースしてみましょう)
For i = 0 To 2
  処理
Next
のとき、
まず、カウンタ変数i は 0にセットされ、
ループ内処理が終わって、
> Next
のところで、+1 され、ループ最終値2 と比較され、1<=2 ですから
ループ継続と判定され、
2回目のFor が始まります。
2回目の処理が終わって、
> Next
のところで、+1 され、ループ最終値2 と比較され、2<=2 ですから
ループ継続と判定され、
3回目のForループに入ります。
3回目の処理が終わって、
> Next
のところで、+1 され、カウンタiは 3になります。
ループ最終値2 と比較され、3> ですからLoopを脱出します。

(よく似ていますが、こちらは ちがいます)
Dim c As Range
For Each c In Range("A1:A3")
  処理
Next
のばあいセル・オブジェクトc は コレクション内の3つのメンバ
[A1], [A2], [A3]
を順に巡回する、という動作になりますので、
巡回後は c Is Nothing になります。
Dim s As Variant
For Each s In Array("あ", "い", "う")
  処理
Next
のような場合でも同様です。Loopが終わったらループ変数s
は Empty になります。

4 hits

【70973】ループ後の変数の値について質問です nh 12/1/22(日) 21:16 質問
【70974】Re:ループ後の変数の値について質問です kanabun 12/1/22(日) 22:07 発言
【70975】Re:ループ後の変数の値について質問です nh 12/1/22(日) 22:19 お礼

11299 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free