
VBAについて教えてください。
---------------------------
Sub Randomizeを入れた場合()
Dim intMax As Integer
Dim intMin As Integer
Randomize
intMin = 1
intMax = 10
Debug.Print Int((intMax - intMin + 1) * Rnd + intMin)
End Sub
---------------------------
Sub Randomizeを入れていない場合()
Dim intMax As Integer
Dim intMin As Integer
intMin = 1
intMax = 10
Debug.Print Int((intMax - intMin + 1) * Rnd + intMin)
End Sub
---------------------------
上記二つのマクロを実行しても
同じような結果が得られる気がするのですがRandomizeは必要なのでしょうか?
一つのサブプロシージャーの中で1回しか乱数を発生させないのなら
Randomizeを使って乱数を初期化する必要はないのですか?
No.1ベストアンサー
- 回答日時:
RNDは疑似乱数と言って、バラバラに見えて、実際は計算で求めた値です。
その初期化に使う値を「種」と言って、Randomizeで設定するものです。
種が同じだと、出てくる乱数も同じになります。
下のマクロだと、Excel起動するたびに、同じ乱数になります。
Excel起動→マクロ実行→Excel終了→Excel起動→マクロ実行→....
となんどかやってみてください。
Ramdoizeは、値無しで実行すると、現在時刻を使って種を作ります。
そのため、実行した時間が変われば、乱数も変わります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Libre office マクロ
-
マクロを組んで作業するのは実...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
マクロを使って結合セルに丸を...
-
IF関数を使ってマクロを実行さ...
-
エクセルで縦に並んだデータを...
-
最小化したoutlook元に戻すマクロ
-
エクセルのマクロでワードの任...
-
ExcelのVBA。public変数の値が...
-
EXCELのVBAマクロでパソコンを...
-
非表示の列をすべて削除するマクロ
-
既存のマクロをコンボボックス...
-
VBSからのエクセル操作での初期...
-
ASP.NETからEXCEL起動
-
エクセルでA1セルに時刻をリア...
-
エクセルVBAでエラー、Changeの...
-
Wordのマクロでクリップボード...
-
VB初心者です。メールから添付...
-
Sub ***( ) と Private Sub ***...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報