![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
以下のようにしてください。
call10を実行してください。
call10は1秒間隔でrandiを呼び出します。
------------------------------------------------------------------
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
Sub call10()
Dim i As Long
For i = 1 To 10
Call randi
Sleep (1000)
Next
End Sub
Sub randi()
Dim i As Long, j As Long
For i = 1 To 5
For j = 1 To 10
Randomize
Cells(i, j).Value = Round(Rnd, 0) 'Rnd関数実行 引数なし
Next j
Next i
End Sub
No.4
- 回答日時:
直接関係無いけど
Randomize と Rnd の関係について。
基本的な使い方は、Rndを使う前に、一度だけRandomizeを実行し、以降はRndだけ使う、というものです。
その例のようなループの中にRandomizeを入れるのは(明確な意図が無い限りは)やってはいけません。
Rndが返すのは「疑似乱数」と呼ばれるもので、
初期状態 から計算して 「乱数1」 と 「状態1」を求める
状態1 から計算して 「乱数2」 と 「状態2」を求める
状態2 から計算して 「乱数3」 と 「状態3」を求める
....
という計算を繰り返すことで、乱数1,2,3... を求めます。
計算を工夫することで、計算された値が「バラバラの乱数」っぽくなるようにしています。
状態n が同じだと、 そこから求められる 乱数 と 次の状態 は同じものになります。
Randomize は この「初期状態」を設定するためのものです。
引数無しで実行すると、現在時刻を元に初期状態を作ります。
このため、短時間で連続して Randomize→Rnd とやると、同じ値が続くことがあります。
また、最初の乱数だけ注目した場合、初期状態が近いと、通常よりも乱数の偏りが出ることもあります。
このため、短時間で連続して Randomize→Rnd とやると、思ったよりもバラバラにならない、ということもあります。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?5a7ff87)
No.2
- 回答日時:
Sub randi()
Dim i As Long, j As Long, k As Long
k=0
For i = 1 To 5
For j = 1 To 10
Application.Wait Now() + TimeValue("00:00:01")
Randomize
Cells(i, j).Value = Round(Rnd, 0) 'Rnd関数実行 引数なし
k=k+1
if k=10 then
exit sub
endif
Next j
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) VBA 配列を使ったコードに直していただけますか 4 2023/05/06 15:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPの処理の途中で、JavaScript...
-
jQuery ui Datepicker 明日以降...
-
if(1){...}とはどういうことで...
-
計算結果が毎回違う。
-
JavaScriptで、実行するたび値...
-
bodyのonloadが実行できない
-
PowerPointで時計表示
-
VBA ステータスバー DoEvents
-
C#でボタン名を変更しても動く
-
VBの実行シーケンスについて
-
OnTime を使って、分間隔で実行...
-
時間稼ぎの命令文とは?
-
VB.Net Imagelistにイメージを...
-
既存のwebサイトで、ローカルの...
-
Excelのマクロ一括実行ができな...
-
以下のコードを実行しても、オ...
-
UWSCの初歩的な質問
-
MFC と CLIどちらを学ぶべきか。
-
なぜ関数をfuncで呼び出すのか...
-
GoTo文とかSelect文の処理の仕...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPの処理の途中で、JavaScript...
-
デザイン時のVisible=Falseは実...
-
初心者です。gulpでコンパイル...
-
if(1){...}とはどういうことで...
-
リクエスト結果が一瞬しか表示...
-
resizeToメソッドが動作しません
-
C#でボタン名を変更しても動く
-
jQuery ui Datepicker 明日以降...
-
〔Excel:VBA〕マクロの実行が異...
-
PowerPointで時計表示
-
1つのVBAコードをすべてのコア...
-
VBA ステータスバー DoEvents
-
VBA SORT Applyでエラー
-
Excel VBA にて JavaScript の...
-
alert()が実行できない
-
GoTo文とかSelect文の処理の仕...
-
既存のwebサイトで、ローカルの...
-
一定時間ごとの実行
-
javascriptで最初のところに戻...
-
eval()の危険性の具体例を教え...
おすすめ情報
いつもお世話になっております
おしえてくれませんでしょうか
もう少し 秒をみじかくするにはどうしたよろしいでしょうか