Excel VBA質問箱 IV

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

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


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

【15943】ランダムに表示 完全素人 04/7/12(月) 22:31 質問[未読]
【15945】Re:ランダムに表示 Asaki 04/7/12(月) 23:09 回答[未読]
【15947】Re:ランダムに表示 YN61 04/7/12(月) 23:46 回答[未読]
【16014】Re:ランダムに表示 完全素人 04/7/14(水) 14:33 お礼[未読]

【15943】ランダムに表示
質問  完全素人  - 04/7/12(月) 22:31 -

引用なし
パスワード
   テキストボックスに1〜50までの数をランダムに表示させたいのですが、
どのようにすれば良いのでしょうか。
どなたか分かる方、ぜひ教えて下さい。
よろしくお願いします。

【15945】Re:ランダムに表示
回答  Asaki  - 04/7/12(月) 23:09 -

引用なし
パスワード
   こんばんは。

この手の問題は、
1から50の連番を、乱数を使ってソートする
というのがいちばん簡単そうです。

作業用シートのA1:A50に1から50まで連番を設定
B1:B50に =Rand() と数式を設定
A:B50をB列をキーに並べ替え
A1から順に、テキストボックスに設定していく

など。

【15947】Re:ランダムに表示
回答  YN61  - 04/7/12(月) 23:46 -

引用なし
パスワード
   ▼完全素人 さん:
ランダムに並べるにはランド関数を入れ、それを基準に昇順に並べ替えると出来ます。
ただ数字が邪魔になるので項目の一番右端に作ると、印刷なんかで邪魔にならないと思います。

ランド関数を入れます
Sub InsertFormula()
  Worksheets("Sheet1").Range("D11:D60").Formula = "=RAND()"
End Sub

昇順に並べます・・・二度と同じならびになりません
Sub AscendOder()
Range("A11").Sort Key1:=Range("D11"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
    :=xlPinYin
  Range("A1").Select
 
End Sub

【16014】Re:ランダムに表示
お礼  完全素人  - 04/7/14(水) 14:33 -

引用なし
パスワード
   お答え頂きありがとうございました。
思うどおりに出来ました。

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