Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62706 / 76738 ←次へ | 前へ→

【18637】Re:乱数(重複なし)の発生は?
お礼  ponpon  - 04/10/2(土) 15:36 -

引用なし
パスワード
   ▼ichinose さん,ちゃっぴ さん
こんにちは。二人ともありがとうございました。

>http://www2.jiu.ac.jp/~en/VBSdocs/390.htm
Dictionaryは、ここを見て下さい。
    ↑ヘルプで見つかりました。失礼しました。

>1の配列をループで一つ一つ調べる方法
>3の乱数を文字列として格納する方法
    ↑
  当たり前ですが、バッチリでした。ありがとうございました。

>重複チェックをどうするか という箇所を思いついたもの
    ↑
  重複した場所をどうするか。 ここのロジックがポイントですね。
  早くいろいろなことを思いつけるようになりたいです。

ちゃっぴ さんへ
ベンチマークやってみました。(少しは練習になるかと思って)
 1から300までの乱数を重複なしに20個発生するのを100回繰り返して
 タイムを取り、それを10回繰り返して平均をとりました。(手作業ではありませんよ。)
 マシンパワーに関係すると思いますが、
 PEN31G メモリ 256KB OS WIN2000 EXCEL2002 の条件で

 >1の配列をループで一つ一つ調べる方法
    一回の平均 35.2ms

 >2のApplication.Match関数を使う方法
    一回の平均 36.6ms

 >3の乱数を文字列として格納する方法
    一回の平均 37.6ms

 >4シートを使ってCountifを使った方法
    一回の平均 117ms

 >5ユーザー定義のコレクションを使った方法
   残念ながらセルに書き出すことができませんでした。トホホ 我ながら情けない。


Sub test4()
  Dim colNumber As New Collection
  Dim intRndNo As Integer
  Dim vntRndNo As Variant
 
  'エラートラップ
  On Error Resume Next
  Do
    intRndNo = Int(300 * Rnd) + 1
    'コレクション格納
    colNumber.Add intRndNo, "Key" & intRndNo
  Loop Until colNumber.Count = 20
  On Error GoTo 0
'  For Each vntRndNo In colNumber
   For i = 1 To 20
    Cells(i, 5).Value = vntRndNo ←ここがわからない。20個格納されている                  はずだから、choose関数? array?????
   Next
' Next vntRndNo
End Sub

 >6Dictionaryオブジェクトを使った方法
   もちろん考えることを諦めました。
以上です。
0 hits

【18624】乱数(重複なし)の発生は? ponpon 04/10/1(金) 22:13 質問
【18625】Re:乱数(重複なし)の発生は? ちゃっぴ 04/10/2(土) 0:08 回答
【18627】Re:乱数(重複なし)の発生は? ponpon 04/10/2(土) 0:58 発言
【18628】Re:乱数(重複なし)の発生は? ponpon 04/10/2(土) 1:07 発言
【18629】Re:乱数(重複なし)の発生は? ちゃっぴ 04/10/2(土) 1:38 回答
【18630】Re:乱数(重複なし)の発生は? ちゃっぴ 04/10/2(土) 1:56 回答
【18631】Re:乱数(重複なし)の発生は? ichinose 04/10/2(土) 1:59 発言
【18637】Re:乱数(重複なし)の発生は? ponpon 04/10/2(土) 15:36 お礼
【18638】Re:乱数(重複なし)の発生は? ちゃっぴ 04/10/2(土) 15:55 回答
【18640】Re:乱数(重複なし)の発生は? ponpon 04/10/2(土) 16:19 お礼
【18641】Re:乱数(重複なし)の発生は? ちゃっぴ 04/10/2(土) 16:45 回答
【18642】Re:乱数(重複なし)の発生は? ponpon 04/10/2(土) 17:43 発言
【18653】Re:乱数(重複なし)の発生は? ponpon 04/10/3(日) 9:54 お礼

62706 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free