• 締切済み

エクセルで発生させた乱数のデータを残す方法教えてください

エクセルで発生させた乱数をその都度データとして残す方法教えてください。たとえばエクセル内で10回乱数を発生させてその10回分のデータを表に記録して残したいのですが・・・。何かいい方法ありますか?もちろん、関数を使ってですけど。

みんなの回答

  • kbonb
  • ベストアンサー率51% (254/492)
回答No.4

こんにちは  実際におやりになりたいことが、まだよくわかっていませんが...  nishi6さんの For rw = 1 To 10  'セルA1~A10の値をB1~B10に書く  Cells(rw, 2).Value = Cells(rw, 1).Value Next の部分については、 Range("B1:B10").Value = Range("A1:A10").Value というふうに書くこともできます。

参考URL:
http://www2.odn.ne.jp/excel/
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

アクセスはいいけどコピーはしたくないということがよくわかりませんが、アクセスを使ってもいいということなので、VBAを使ってもいい? シートの計算方法を手動にしておけば、再計算のタイミングでA1~A10の乱数を数値としてB1~B10に書き出します。再計算はF9です。 下記モジュールをシートのコードウインドウに貼り付けます。 ご参考に。 '*** 乱数の固定(A1~A10をB1~B10に書く) *** '    シートの計算方法を手動にしておく Private Sub Worksheet_Calculate()   Dim rw As Long '行カウンタ   On Error GoTo ErrorHandler '何かエラーが起きた場合の処理   Application.EnableEvents = False 'イベントを発生させない   For rw = 1 To 10     'セルA1~A10の値をB1~B10に書く     Cells(rw, 2).Value = Cells(rw, 1).Value   Next   Application.EnableEvents = True 'イベントを発生させる   Exit Sub ErrorHandler:   '何かエラーが起きたらイベント発生させるように戻す   Application.EnableEvents = True End Sub

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

RAND()のままだと再計算で値が変わるので、固定したいということですか? 関数とか何も使いませんが、moto_misaさんの意図したこととあっていればいいんですが。 ツール→オプションで計算方法を手動にします。 発生させた乱数をコピーして任意の場所に、『形式を選択して貼り付け』の『値』を実行します。これで、乱数が値になります。 新しい乱数を発生させるにはファンクションキーF9を押します。 ご参考に。

moto_misa
質問者

お礼

はい、意図はその通りです。少ない説明で理解してくださり、ありがとうございます。

moto_misa
質問者

補足

説明不足で申し訳ありません。 自分でコピーをしないでその都度再計算した時点で関数を使って追記して、残す方法はないでしょうか。もちろんブック内でもあるいはアクセスを使っても構わないのですが何かいい方法がないでしょうか?

  • kbonb
  • ベストアンサー率51% (254/492)
回答No.1

こんにちは  例えばA1:A10に =RAND() を入力するのはいかがでしょうか?

参考URL:
http://www2.odn.ne.jp/excel/
moto_misa
質問者

お礼

ありがとうございます。説明不足のようでしたので追記しておきます。

moto_misa
質問者

補足

説明不足で申し訳ありません。 その都度再計算した時点で関数を使って追記して、残す方法はないでしょうか。もちろんブック内でもあるいはアクセスを使っても構わないのですが何かいい方法がないでしょうか?

関連するQ&A