Excel VBA質問箱 IV

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

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


62730 / 76732 ←次へ | 前へ→

【18603】Re:コピー&ペーストについて
発言  ichinose  - 04/10/1(金) 10:05 -

引用なし
パスワード
   ▼ponpon さん、Asakiさん、おはようございます。

> バッチリだったのですが、ここまでできたら、シートを使わないで何とかならないものかと、配列を使って考えたのですが、
いくつか方法はあると思います。
1.配列の中身をループで調べる方法
 変数と変数の比較だから処理は速いですよ

2.Application.Match関数を使う方法
 配列にも使えます。但し、上限があります。

3.乱数を文字列として配列に格納する方法(Filter関数を使用する)


配列の数が5000ぐらいまでとして、2の方法を使用して・・・。

'==================================
Sub test()
  Dim rndNO(1 To 20) As Integer
  Dim intNO As Integer
  Dim p As Integer
  Dim t As Integer
  Randomize
  For p = 1 To 20
   t = 30
   intNO = Int(Rnd() * t) + 1  '1からtまでの乱数の発生

   Do Until IsError(Application.Match(intNO, rndNO(), 0)) '同じ数字がでたら、違うまでループ

   intNO = Int(Rnd() * t) + 1  '1からtまでの乱数の発生
   
    Loop
   rndNO(p) = intNO
   Next

  For i = 1 To 20
   Cells(i, 1).Value = rndNO(i)
   Next
End Sub


これは、トピック変えたほうがいいかもしれませんよ!!


>
>  Dim rndNO(1 To 20) As Integer
>  Dim intNO As Integer
>  Dim p As Integer
>  Dim t As Integer
>
>  For p = 1 To 20
>   t = 30
>   Randomize
>   rndNO(p) = Int(Rnd() * t) + 1  '1からtまでの乱数の発生
>   intNO = rndNO(p)
>
>   Do Until rndNO(p) <> intNO '同じ数字がでたら、違うまでループ
>               ↑
>        ここの式が思いつかないしわからない。
>
>   rndNO(p) = Int(Rnd() * t) + 1
>   intNO = rndNO(p)
>     
>   Loop
>
>   Next
> コレクションを勉強したらなんていわないで、この配列を使って何とかならないものでしょうか。
> rndNO(p)が、今まで作った配列の中にあるかないかを調べるような式や関数をどなたか教えていただけないでしょうか? このコードからは無理ならば、諦めてシートを使います。
> よろしくお願いします。

0 hits

【18473】コピー&ペーストについて ponpon 04/9/27(月) 22:31 質問
【18474】Re:コピー&ペーストについて Asaki 04/9/27(月) 22:57 回答
【18475】Re:コピー&ペーストについて ponpon 04/9/27(月) 23:26 発言
【18476】Re:コピー&ペーストについて Asaki 04/9/28(火) 0:03 回答
【18477】Re:コピー&ペーストについて ponpon 04/9/28(火) 0:23 発言
【18478】Re:コピー&ペーストについて Asaki 04/9/28(火) 0:32 回答
【18479】Re:コピー&ペーストについて ponpon 04/9/28(火) 0:56 お礼
【18481】Re:コピー&ペーストについて ponpon 04/9/28(火) 10:34 質問
【18482】Re:コピー&ペーストについて Asaki 04/9/28(火) 11:05 回答
【18488】Re:コピー&ペーストについて ponpon 04/9/28(火) 12:55 お礼
【18593】Re:コピー&ペーストについて ponpon 04/9/30(木) 19:14 質問
【18603】Re:コピー&ペーストについて ichinose 04/10/1(金) 10:05 発言

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