
No.2
- 回答日時:
こんにちは
想定できる原因は、すでに回答にありますが、変数 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 を使用した方が良いのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
流れ図(フローチャート)が分か...
-
正しいWebBrowserの使い方(ル...
-
画面を強制的に再描画させる方法
-
VBAの変数は何故「i」から始ま...
-
csh foreachで「*」でエラ...
-
CSVファイルの特定の行だけを読...
-
イベントの発生を待つ
-
EXCEL VBA ユーザーフォームの...
-
ボタンが押された時にループか...
-
VBA for i=1 to lastrow
-
VBA ニュースタイトル取得
-
メビウスループの画像
-
WinAPI「MsgWaitForMultipleObj...
-
DOSコマンドのループ内のTIMEコ...
-
VB.NETで素因数分解のプログラ...
-
なぜⅰなのか?
-
UWSCの終了の仕方
-
ループ7回目の悪役令嬢は、元敵...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
UWSCの終了の仕方
-
DOSコマンドのループ内のTIMEコ...
-
範囲指定したセルを1つずつ飛...
-
VBAでの一時停止と再開の方法
-
Escキーを押すと、中断する時と...
-
乱数の桁数指定、または範囲指定。
-
イベントの発生を待つ
-
流れ図(フローチャート)が分か...
-
UWSCに制限時間を付けたいです
-
vb.netです。2次元配列の要素を...
-
VBA for i=1 to lastrow
-
DoEventsが必要な理由について
-
ループフリー
-
VBA Boxが空白の場合のメッセー...
-
VBA ニュースタイトル取得
-
エクセルの当番表を作っていま...
-
Javaの質問です。 この問題の答...
-
テキストボックスの名前に変数...
-
CSVファイルの特定の行だけを読...
おすすめ情報