No.4ベストアンサー
- 回答日時:
野生の勘で、1~10の整数がばらばらの順番に、重複せずに出てくれば良いものと考えます。
1. まず、要素数10の配列を定義して、1~10までの整数を順番に格納します。配列の名前を、仮にAとします。
2. Rondomizeで初期化します。
3. 次に乱数を2つ発生させます。乱数は1~10の範囲に収まるようにします。個々で発生した乱数を仮にm,nとします。
4. Aのm番目の要素の値と、n番目の要素の値を入れ替えます。
5. 3.と4.を気が済むまで(100回ぐらい?)繰り返します。
6. 配列Aを1番目の要素から順番に読むと、適当に乱れた数字が重複無く取り出せると思います。
こんな感じでいかがでしょうか?
ありがとうございます。
単純な構文のみでは、重複しない乱数整数は発生しないということが解りました。
何か一工夫しなければならないという事なんですね。
No.5
- 回答日時:
よく伝わりにくかったですが、私も#4さんと同等の結果を予想します。
こんなカンジで出来そうな気はするんですが。。。
(テストしてないので結果は分かりかねます)
Dim A As Integer '行始値
Dim B As Integer '行終値
Dim C As Integer '列
Dim D As Integer '行カウンタ
Dim E As Integer '値格納
Dim F As Integer '重複カウンタ
Dim AA() As Integer '重複チェック格納
A = 1
B = 10
C = 1
Randomize
For D = A To B
ReDim Preserve AA(D)
AA(D) = Int((B - A + 1) * Rnd + A)
'AA(D) = Int(B * Rnd + 1) でも可かと...
If D <> A Then
For F = A To D - 1
If AA(F) = AA(D) Then
AA(D) = Int((B - A + 1) * Rnd + A)
F = A - 1
End If
Next F
End If
E = AA(D)
Cells(D, C) = E
Next D
省略すれば、もっと簡単にもっと早い処理のものも書くことが出来ますが、これを参考に修正してもらえたら幸いです。
また配列を使うのが嫌なのであれば、セルの値から判別してもいいです。
No.3
- 回答日時:
確認ですが、「重複しない」とは、1~10の値が1回ずつ表示されて欲しいという意味ですか。
Randomizeステートメントは引数を省略すればTimer関数の戻り値を使用しますので、上記のようにRandomize単体で使用すれば毎回ランダムな数値が発生するはずです。
No.2
- 回答日時:
別件ですが、Dimの書き方を指摘させてください。
誤: Dim A,B,C,D,E As Integer
正: Dim A as Integer, B As Integer, C as ・・・
前者の書き方ですと、A~DはVariant型になります。
なおVB.NETでは前者の書き方を受け付けるようです。
No.1
- 回答日時:
乱数整数を発生もとはPCの中にランダム数字が書き込まれています
(乱数の数値テーブルがある)
通常の方法でやると同じ物が出てくる可能性があります
そこで TIME(時間を)組み合わせる結構ランダムになりますよ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
VBで作った乱数を一度も重複させずに表示する方法を教えてください!
Visual Basic(VBA)
-
フォームの再読み込み
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 別ブックからコピペしたい...
-
VBA 2次元配列の出力
-
VB.net(VB)で、フォームにExcel...
-
【ExcelVBA】インデックスが有...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
pdfファイルの複数添付 引数の型
-
Excel_VBAについて質疑です。(...
-
Vba SelStart、SelLen教えてく...
-
Excelのマクロについて教えてく...
-
エクセルvbaの対象セルに色をつ...
-
ExcelVBAマクロで実行した時の疑問
-
Excel VBA 選択範囲の罫線色の...
-
ExcelのVBAコードについて教え...
-
エクセルVBAのブックを開く方法...
-
エクセルVBAで特定のセルの値を...
-
エクセルでCDOを使ったメール送...
-
【ExcelVBA】dictionaryの重複...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の要素番号を取得するには?
-
VBでボタンを押すと画像をラン...
-
変な質問ですみません、n番目の...
-
VB.NET の配列の要素数
-
重複しない乱数の生成
-
DataGridでCTRLキーを押さずに...
-
Vba 配列の中の特定文字列の位...
-
VB6 複数行のテキストをリスト...
-
データ構造のテキスト保存につ...
-
重複しない乱数を作り配列に入...
-
複数の変数宣言を、for文で一気...
-
FlashソフトSuzukaで、トランプ...
-
ランダムで画像を表示させるには?
-
FLASHでXMLを読み込んだときに...
-
画面上にランダムでムービーク...
-
確率を設定したい
-
ランダム表示を重複させないよ...
-
Adobe FlashCS3【ActionScript3...
-
IDの自動採番について
-
arrayの中から一番近くて大きい...
おすすめ情報