最新閲覧日:

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

このQ&Aに関連する最新のQ&A

A 回答 (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/
    • good
    • 0

アクセスはいいけどコピーはしたくないということがよくわかりませんが、アクセスを使ってもいいということなので、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
    • good
    • 0

RAND()のままだと再計算で値が変わるので、固定したいということですか?


関数とか何も使いませんが、moto_misaさんの意図したこととあっていればいいんですが。

ツール→オプションで計算方法を手動にします。
発生させた乱数をコピーして任意の場所に、『形式を選択して貼り付け』の『値』を実行します。これで、乱数が値になります。
新しい乱数を発生させるにはファンクションキーF9を押します。

ご参考に。

この回答への補足

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

補足日時:2001/11/02 02:21
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/02 02:27

こんにちは



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

参考URL:http://www2.odn.ne.jp/excel/

この回答への補足

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

補足日時:2001/11/02 02:28
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/02 02:13

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報