Excel VBA質問箱 IV

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

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


12807 / 13644 ツリー ←次へ | 前へ→

【8524】For Next 2つの同時進行 ポメラニアン 03/10/22(水) 16:29 質問
【8531】Re:For Next 2つの同時進行 りん 03/10/22(水) 18:07 質問
【8533】Re:For Next 2つの同時進行 ポメラニアン 03/10/22(水) 18:56 質問
【8535】Re:For Next 2つの同時進行 りん 03/10/22(水) 20:10 回答
【8536】Re:For Next 2つの同時進行 ポメラニアン 03/10/22(水) 22:37 お礼

【8524】For Next 2つの同時進行
質問  ポメラニアン  - 03/10/22(水) 16:29 -

引用なし
パスワード
   はじめまして VBA 独学で勉強してるんですがどうしても解らなく
こちらに投稿させていただきました。
シート1のセル "A:P%"に1から20までを順次入れていきます。その際にセルを1つずつ
下にずらして数字を順次入れたいのです。下まで行けば また上から順次いれていきます。

For i = 1 To 20
For P% = 1 To 10
Worksheets("sheet1").cells(P%,1)=i 'ここでiには、同じ数字がはいる..
Next P%
Next i

この上の式では、for next がうまく働かず同じ数字がセルに埋まっていき次の数字
....となっていきます。

どういう式にすればいいでしょうか?
For Next では、1つ動けば もうひとつの For Nextも ひとつ動くようには
できないのでしょか?

つたない文で申し訳ないですがご教授の程お願い申し上げます。

【8531】Re:For Next 2つの同時進行
質問  りん  - 03/10/22(水) 18:07 -

引用なし
パスワード
   ポメラニアン さん、こんにちわ。

>はじめまして VBA 独学で勉強してるんですがどうしても解らなく
>こちらに投稿させていただきました。
>シート1のセル "A:P%"に1から20までを順次入れていきます。その際にセルを1つずつ
>下にずらして数字を順次入れたいのです。下まで行けば また上から順次いれていきます。

イメージがいまひとつわからないのですが...。

>Worksheets("sheet1").cells(P%,1)=i 'ここでiには、同じ数字がはいる..

これだと列が1で固定になっているのでA1からA10セルに1〜20の数字を入れているだけです。 #同じセルに入れ続けるので、最終的に表示されるのは20

1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8...
みたいな事がしたいのか、

1 5 4 3 2
2 1 5 4 3
3 2 1 5 4
4 3 2 1 5...

なのか。 どっちも違うのか...。

【8533】Re:For Next 2つの同時進行
質問  ポメラニアン  - 03/10/22(水) 18:56 -

引用なし
パスワード
   >
>イメージがいまひとつわからないのですが...。
>
>>Worksheets("sheet1").cells(P%,1)=i 'ここでiには、同じ数字がはいる..
>
>これだと列が1で固定になっているのでA1からA10セルに1〜20の数字を入れているだけです。 #同じセルに入れ続けるので、最終的に表示されるのは20
>
>1 2 3 4 5
>2 3 4 5 6
>3 4 5 6 7
>4 5 6 7 8...
>みたいな事がしたいのか、
>
>1 5 4 3 2
>2 1 5 4 3
>3 2 1 5 4
>4 3 2 1 5...
>
>なのか。 どっちも違うのか...。
早速のご返答ありがとうございます。
リンさんの例の下のような形です。
1 ←この上に5を上書き.
2 ←この上に1を上書き.
3 ←この上に2を上書き.
4 ←この上に3を上書き.

という形です。

【8535】Re:For Next 2つの同時進行
回答  りん E-MAIL  - 03/10/22(水) 20:10 -

引用なし
パスワード
   ポメラニアン さん、こんばんわ。

>リンさんの例の下のような形です。
>1 ←この上に5を上書き.
>2 ←この上に1を上書き.
>3 ←この上に2を上書き.
>4 ←この上に3を上書き.
>
>という形です。

では、こんな感じでしょうか?
Sub test()
  With Worksheets("sheet1")
   For i% = 1 To 20
     For P% = 1 To 10
      NN% = NN% + 1 'カウンタ
      .Cells(P%, 1).Value = (NN% - 1) Mod 25 + 1 '25で循環するとする。
     Next P%
     MsgBox "Next", vbInformation, i%
   Next i%
  End With
End Sub

【8536】Re:For Next 2つの同時進行
お礼  ポメラニアン  - 03/10/22(水) 22:37 -

引用なし
パスワード
   >では、こんな感じでしょうか?
>Sub test()
>  With Worksheets("sheet1")
>   For i% = 1 To 20
>     For P% = 1 To 10
>      NN% = NN% + 1 'カウンタ
>      .Cells(P%, 1).Value = (NN% - 1) Mod 25 + 1 '25で循環するとする。
>     Next P%
>     MsgBox "Next", vbInformation, i%
>   Next i%
>  End With
>End Sub

適切なご教授 ありがとうございました。
カウンタの設置がミソですね。(^^;
試してみたいと思います。

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