• ベストアンサー

EXCELマクロで数値をランダムで選ぶソース

EXCELマクロで数値をランダムで選ぶマクロを作りたいのですが、マクロ初心者でどのようなソースを書いていいかわかりませんわかる方がいればよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • big_fool
  • ベストアンサー率22% (43/193)
回答No.3

No2です >VBAを使用してスイッチでランダム表示させるにはどうすればよいですか? 私の知識不足のせいか、スイッチの意味が分かりません 何かの操作(イベント等)で動作させたいといゆう意味ならVBEのプロジエクトウインドウの (VBEはAlt+F11などで開きます) 各Sheet、またはThisWorkbookをダブルクリックし 表示されるコートウインドウの「オブジェクト」ボックス(左上)からWorksheetまたはWorkbookを選択し「プロジャー」ボックス(右上)からイベントを選択 各Sheetを選択した場合などは たとえばActivateならそのシートがアクティブになったときに動作 Private Sub Worksheet_Activate() Range("A1") = Int((100 - 1 + 1) * Rnd + 1) End Sub ThisWorkbookを選択した場合などは たとえばOpenならそのブックかオープンになった時に動作します Private Sub Workbook_Open() Range("A1") = Int((100 - 1 + 1) * Rnd + 1) End Sub また下記のコードを標準モジュールに 標準モジュールはVBEの「挿入」メニューの標準モジュール Sub 乱数発生() Range("A1") = Int((100 - 1 + 1) * Rnd + 1) End Sub と記載 単純にシートの任意の場所、スイッチとして使いたい場所に「オートシェイブ」を描き右クリックからマクロの登録ーー「マクロの登録」ダイヤログボックスのマクロ名から「乱数発生」を選択することでオートシェイブを選択するとマウスポインタが指の形に変わりクリックすることにより実行することが出来ます

phantom_cr
質問者

お礼

丁寧な回答有難うございます。 あと、わかりづらい補足ですいませんでした。

その他の回答 (2)

  • big_fool
  • ベストアンサー率22% (43/193)
回答No.2

たとえば A1セルに1から100までの乱数を発生します Range("A1") = Int((100 - 1 + 1) * Rnd + 1)

phantom_cr
質問者

補足

VBAを使用してスイッチでランダム表示させるにはどうすればよいですか?

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

Visual Basic関数Rnd()が利用できます。 Excelのヘルプに、使い方の例が載っています。

phantom_cr
質問者

お礼

参考にさせていただきます