Excel VBA質問箱 IV

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

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


62713 / 76732 ←次へ | 前へ→

【18624】乱数(重複なし)の発生は?
質問  ponpon  - 04/10/1(金) 22:13 -

引用なし
パスワード
   ▼ichinose さん:
 こんにちは。
 またまた、お世話になります。
 乱数(重複なし)の発生は?に変えて質問させていただきます。過去ログにもあったのですが、どうも理解ができなくて…
 ネット上(グーグル何かも)で調べたのですが、これっというものがなくて、(探し方が悪かったのかも)得意のsheetを使って、一度シートに書き出し、ようやく乱数(重複なし)に行き着いたのですが、どうも悔しくて…
いつもすみません。

 いろいろな方法がありそうなので、もっといろいろと知りたいと思います。

>1.配列の中身をループで調べる方法
> 変数と変数の比較だから処理は速いですよ
       ↑
  まず乱数 rndNO(1to20)を発生させて、for next で同じ数字があったら乱数を発せさせ、新しい乱数Bに追加して……ロジックが浮かばない。トホホ

>2.Application.Match関数を使う方法
> 配列にも使えます。但し、上限があります。
       ↑
 提示されたコードで見事解決することができました。いつもながら、ありがとうございました。
  Application.Match関数ですが、どういったものなのでしょうか?ヘルプをみても見つけることができませんでしたし、コードを書くときも候補として表示されませんでした。WorksheetFunction.Match関数と構文は同じように感じましたが……
 IsError関数は、一致する数字がなくエラーが出るまで でよいのですよね。
 本やヘルプで調べてみると、Blooleam型で TrueかFalseを返すのだから、=trueはいらないのでしょうか? とんちんかんの質問でしたら申し訳ありません。
 関数を基本に子どもに役立ちそうなものを考え、関数でできないところをVBAで補っています。
 ですから、必要なところを本やヘルプで調べてかじっているので、基本ができていません。いつも初歩的な質問ばかりで申し訳ありません。


>3.乱数を文字列として配列に格納する方法(Filter関数を使用する)
      ↑
 これも本とヘルプを頼りにいろいろとコードを書いたのですが……実行時エラーばかりで、情けない。
 sub tamesi()
  Dim rndNO(1 To 21) As String
  Dim intNO() As String
  Dim p As Integer
  Dim t As Integer
      t = 30
    For p = 1 To 20
      Randomize
      rndNO(p) = Int(Rnd() * t) + 1  '1からtまでの乱数の発生
      intNO = rndNO(p)
    Do While intNO = Filter(rndNO, rndNO(p)) '数字が同じ間ループ
      rndNO(p) = Int(Rnd() * t) + 1
       intNO = rndNO(p)
 
      Loop
        Debug.Print intNO
    Next


1 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 お礼

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