0arbefore.Add(1)arbefore.Add(2)arbefore.Add(3)arbefore.Add(4)arbefore.Add(5)arbefore.Add(6)arbefore.Add(7)arbefore.Add(8)arbefore.Add(9)arbefore.Add(10)arafter.Clear()とプログラムしても、Label1〜Label10にかぶった数字が出てしまいます。1〜10までランダムにそしてどれも異なるようにするにはどうすればいいのでしょうか?VB2005、XPです。ClassButton1で普通の乱数を、Button2で重複しない乱数を作成したいと思っています。Labelsは消し忘れです。入った配列を乱数でかき混ぜてはいかがでしょうか。とプログラムしても、Label1〜Label10にかぶった数字が出てしまいます。VB2005、XPです。このコードを見ても「何をしたいのか」がわかりません。する理由は?ご自分で書いたコードが「何をしているか」を理解していますか?それこそ、ご自分で書いたコードですか?課題で出たから仕方なく、のような状態であれば、まずは質問する前に自分でコードの流れを考えてみるのがいいと思います。http://www.interq.or.jp/www-user/komurak/tips/tranp.htmlこのサイトも見たんですが、それでも分からなかったのです。それに、そのまま実行すると青線ひかれます。このサイトも見たんですが、それでも分からなかったのです。なにが/どこがわからんかを語らんと「わかるまで読め」と返されて終わりになりますよ。入った配列を乱数でかき混ぜてはいかがでしょうか。これが答えとしか思えないんですが。tmp;}ビルドしてません。18:20:51)トランプのシャッフルのほうが実装が綺麗ですね。お好みにーって感じです。このサイトも見たんですが、それでも分からなかったのです。それに、そのまま実行すると青線ひかれます。青線が引かれる原因の箇所である、iの型をLong→Integerに変更すればいいです。どの値が削除されたのか本来、どの値が削除されるべきなのか確認してみてはいかがでしょうか。編集(投稿者)>多くの回答大変ありがたく思っています。自分としてはこの投稿が初めてだったということもあり。明日学校なので申し訳ありませんが少し考える時間をいただきたいです。考えてお礼をしようと思います。本当にありがとうございます。>>http://www.interq.or.jp/www-user/komurak/tips/tranp.html>>このサイトも見たんですが、それでも分からなかったのです。コレ↓ならいかがでしょう。>>http://www.interq.or.jp/www-user/komurak/tips/tranp.html>>>>このサイトも見たんですが、それでも分からなかったのです。それに、そのまま実行すると青線ひかれます。青線が引かれる原因の箇所である、iの型をLong→Integerに変更すればいいです。Sub>じっくり読ませていただきました。自分なりに、13ではなく10個の数字を数列化しました。確かに、重複なく数字が並ぶようになりました。いつも10が最後になってしまいます。9Debug.Print(colAfter.Item(i))Nextどうしても、colAfter.Add(colBefore.Item(i))の行でエラーが起こります。申し訳ありませんが、回答よろしくお願いします。読ませていただきました。自分なりに、13ではなく10個の数字を数列化しました。確かに、重複なく数字が並ぶようになりました。いつも10が最後になってしまいます。教えてあげた方がいいかもね。する必要がありますね。しても、colAfter.Add(colBefore.Item(i))の行でエラーが起こります。申し訳ありませんが、回答よろしくお願いします。以上である必要があります。colBefore.Item(i)のiの値に0がセットされると、このエラーとなります。インデックスは、1〜10だよ。以上だから、最後に+1して、1〜10とする。以上だから、1〜10とする。Nextεπιστημηさんが、別のシャッフルの方法について、下記のBlogを書かれております。http://blogs.wankuma.com/episteme/archive/2009/07/13/177448.aspx上記の内容を理解されたら、別のシャッフルの方法についても勉強してみてくださいね。15:01:16)VB.NETで書きなおしてみた。以上である必要があります。colBefore.Item(i)のiの値に0がセットされると、このエラーとなります。うお、まじですかい!VBはそうだったか。インデックスは、1〜10だよ。以上だから、最後に+1して、1〜10とする。以上だから、1〜10とする。10Debug.Print(colAfter.Item(i))Nextやじゅさんが書かれたコードでそのままデバッグしてみたところ、0〜9までがランダムになったので、一部書き換えました。全面解決しましたので、お礼を申しあげます。ほかのかたがたもありがとうございました。