No.5ベストアンサー
- 回答日時:
>もう一度同じ作業を行った際に、
Form1_LoadにRandomize()を追加します。
Rnd関数の乱数ジェネレータに新しいシード値を指定して初期化。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
For i = 1 To 100
tbl.Add(i)
Next
Randomize()
End Sub
No.4
- 回答日時:
これはエクセルのワークシートの例だが、プログラムにも大様できる
でしょう。セルは配列にし、Rank関数にあたる機能のルーチンは自作。
No.3
- 回答日時:
1から100までの数字が順番に格納された配列を用意し、その配列のn番目とm番目の数字を入れ替えます(nとmは乱数で発生します)。
この入れ替え操作を十分な回数行ってから、配列を順に表示すれば所望の結果が得られると思います。
回答ありがとうございます。
説明のみで理解できるほど私の頭がついていっていないので難しいのですが・・勉強します。ありがとうございました。
No.2
- 回答日時:
Private tbl As New ArrayList
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
For i = 1 To 100
tbl.Add(i)
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
If tbl.Count <= 0 Then Exit Sub
i = Rnd() * (tbl.Count - 1)
MsgBox(tbl(i))
tbl.RemoveAt(i)
End Sub
101回目のことは考慮してませんが。
この回答への補足
早速のお返事ありがとうございます。
書いていただいたコードで出来ました!ありがとうございます。
ただ、プログラムを終了して、もう一度同じ作業を行った際に、
違う順番でまた先ほどのようなランダムな数字を得る事は可能でしょうか?
わかれば教えていただきたいです。よろしくお願いします!
No.1
- 回答日時:
同じ数字が出てはいけないというルールは乱数だけでは実現不可です。
(『不規則な』数値を発生させるというのが乱数ですから。)よって、表示済みの数字を記録しておき、それとマッチしたらもう一回やり直しというトラップをおくか(ちとぶざまか?)、変数か何かで母集団を作成し、その中から乱数でひとつを選択、選択したものは母集団から削除するかのいずれかでしょう。
(いうまでもなく考え方だけです。)
私も乱数を使って式を作ってみたのですが、ランダムにはでるものの、重複の際の処理がわかりませんでした。
回答どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Excel(エクセル) マクロを教えてください 1 2022/11/28 14:52
- Excel(エクセル) Excel 条件付き書式について 1 2022/12/14 20:38
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
重複しない乱数整数を発生させる。
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
-
4
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
5
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
6
データベースに存在するデータと重複しない乱数を生成する関数、再帰を使用。
PHP
-
7
VBA-指定した範囲で重複しない乱数を生成したい
その他(Microsoft Office)
-
8
VB.netでメソッドからコントロールを取得
Visual Basic(VBA)
-
9
VB.net 重複チェックがしたいです
Visual Basic(VBA)
-
10
モジュールとクラスの違いってなんなんですか?
Visual Basic(VBA)
-
11
カンマの含まれる文字列の数値変換方法について
Visual Basic(VBA)
-
12
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
13
VB.NETのテキストボックスの書式指定
Visual Basic(VBA)
-
14
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
15
VBでの入力値制限について
Visual Basic(VBA)
-
16
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
17
グリッドの列の最大値を求めたい。
Visual Basic(VBA)
-
18
テキストファイルクリア .net2005 VB
Visual Basic(VBA)
-
19
<VB.NET>INSERT文でDBにデータを入れたい
Visual Basic(VBA)
-
20
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数を動的に作るには?
-
EXCEL VBA で、0から?1から?
-
IF関数でEmpty値を設定する方法。
-
VBAで配列の計算
-
C言語 重複しない4ケタの乱数...
-
応用情報技術者試験の令和元年...
-
VB.net 引数で配列変数を渡す際...
-
パソコンキーボードで時分秒を...
-
VBで作った乱数を一度も重複さ...
-
配列の要素数を超えた参照のコ...
-
複数のテキストボックスに同じ...
-
VBでbyte配列型のインスタンス...
-
動的配列が存在(要素が有る)か...
-
c言語を勉強している初心者です...
-
空き番号探し
-
遅延バインディングを使用でき...
-
C#の質問
-
Excel VBA 多段階配列の宣言の仕方
-
VB functionについて
-
VBA 配列数式的に一括してR...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
応用情報技術者試験の令和元年...
-
IF関数でEmpty値を設定する方法。
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
動的配列が存在(要素が有る)か...
-
変数を動的に作るには?
-
C言語 重複しない4ケタの乱数...
-
VBで作った乱数を一度も重複さ...
-
VB.net 引数で配列変数を渡す際...
-
配列の要素数を超えた参照のコ...
-
C#の質問
-
複数のテキストボックスに同じ...
-
VBでbyte配列型のインスタンス...
-
For文と配列
-
遅延バインディングを使用でき...
-
【MFC】GetCount()とGetSize()...
-
配列プロパティをREDIMする方法...
-
Excel VBAで配列の途中から(X)M...
-
五目並べのプログラムを配列と...
おすすめ情報