質問: n to k 処理 next i
回答: こんにちは 想定できる原因は、すでに回答にありますが、変数 k の使い方に問題があるのではないでしょうか。(ループに問題があるのではない) ご自身でkの値をモニターしてkに11が代入されるタイミングを確認するのはいかがでしょう。 方法はいくつかありますが、 ウォッチウィンドウを表示してkを設定すれば変化がわかります。 http://excelvba.pc-users.net/fol8/8_3.html ちなみにループ内でkの値を変更しても変数 i が10に達するとforを抜けると思います。抜けた時(next iの下)で変数 i は、11ですが。 変数の使用方法としては、改善が必要と思います。(例えが上手くないだけかも知れませんが) わかり易く変数 k を流用しないとか、ロジックを見直すとかです。 n = 3 k = 10 変数の初期値を設定する目的であれば、kは定数にするべきと思います。 const k = 10 更に付け加えると、変数にする意味が無いのではと思います。 変数を使用する場合は、 例:k=cells(rows.count, 1).end(xlup).row などなど 範囲(回数)が確定していない時です。例は処理前のa列(値のある)最終行 処理によりループ範囲を変えたい場合は、 for nextでなく do loop を使用する事も考えてみてください。 例えば、条件を満たすまでループさせたいのなら、 do while 条件式 や do until 条件式 で 条件式を満たすまで繰り返す処理 loop とする方法があります。(注意:条件式を満たさなければ無限ループ) ループ内の処理がわかりませんが、カウント変数 i を使用した方が良いのでは?