Excel VBA質問箱 IV

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

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


7082 / 13646 ツリー ←次へ | 前へ→

【41333】For Nextについて KK 06/8/6(日) 13:09 質問[未読]
【41334】Re:For Nextについて かみちゃん 06/8/6(日) 13:34 回答[未読]
【41335】Re:For Nextについて' KK 06/8/6(日) 14:17 お礼[未読]

【41333】For Nextについて
質問  KK  - 06/8/6(日) 13:09 -

引用なし
パスワード
   For Nextについて、予想外の動きをしたので質問します。
(実際は、テキストボックスの順次書き出しなのですが)

Private Sub CommandButton1_Click()
Dim r As Range
Dim cnt As Long
  cnt = 0
  For i = 1 To 6
  For Each r In Sheets("Sheet1").Range("A1:F6").Columns(i)
    cnt = cnt + 1
    r.Value = cnt 'Me.Controls("textbox" & cnt).Value
  Next r
  Next i
End Sub

上記コードを実行すると

1    7    13    19    25    31
2    8    14    20    26    32
3    9    15    21    27    33
4    10    16    22    28    34
5    11    17    23    29    35
6    12    18    24    30    36

の結果が得られると思ったのですが、

1    2    3    4    5    6
1    2    3    4    5    6
1    2    3    4    5    6
1    2    3    4    5    6
1    2    3    4    5    6
1    2    3    4    5    6
の結果が得られます。

なぜ、cntがうまく加算されないのか、分かりません。

F8でステップ毎の動きをデバッグ確認したら、
For i = 1 To 6
の所に行きません。

どこがまずいのでしょか。

【41334】Re:For Nextについて
回答  かみちゃん  - 06/8/6(日) 13:34 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>なぜ、cntがうまく加算されないのか、分かりません。

For Each r In Sheets("Sheet1").Range("A1:F6").Columns(i).Cells
とすればいかがでしょうか?

【41335】Re:For Nextについて'
お礼  KK  - 06/8/6(日) 14:17 -

引用なし
パスワード
   かみちゃん さん 今日は。

Cellsをつけたら、できました。
即解決し、助かりました。
ありがとうございました。

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