- ベストアンサー
初心者です。わかりやすくお願いします。
当方、ミニロト(1~31の数字から5個選ぶ)の研究を始めようと思い、 まずは、全ての組み合わせ(169911通り)の一覧表をつくりたいと思っております。 資料は膨大なページ数(枚数?)になってもかまいません。 どうのようにすれば一覧表をつくれるでしょうか。 どうぞお力をお貸しください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
非常にやっつけ仕事で申し訳ありませんが、マクロを作ったので実行してみてください。 実行すると、A列~E列に値が埋まっていきます。 一番下(65536行目)まで行ったら、次は改行してF列を空けてG列~K列まで、 更に一番下まで行ったら、L列を空けてM列~Q列まで記入していきます。 あとはどうとでも加工なさってくださいませ。 ただし、結果が出るまでにはタバコを1本吸いきるくらいの時間がかかりますので、動かなくなってもあせらずお待ちくださいね。 ここから下をコピーしてお使いください。 'ここから------------------------------------------------------------- Sub FillLotoNo() Application.ScreenUpdating = False Dim TargetCellRow, TargetCellCol, InpArr(5) As Long TargetCellRow = 1 TargetCellCol = 0 For i# = 1 To 27 InpArr(1) = i For j# = i + 1 To 28 InpArr(2) = j For l# = j + 1 To 29 InpArr(3) = l For k# = l + 1 To 30 InpArr(4) = k For m# = k + 1 To 31 InpArr(5) = m For n# = 1 To 5 Cells(TargetCellRow, TargetCellCol + n).Value = InpArr(n) Next n TargetCellRow = TargetCellRow + 1 If TargetCellRow > 65536 Then TargetCellRow = 1 TargetCellCol = TargetCellCol + 6 End If Next m Next k Next l Next j Next i Application.ScreenUpdating = True End Sub 'ここまで------------------------------------------------------------- 上の貼り付け方が分からない場合は、以下ご覧下さい。 1) ツール(T)-マクロ(M)-新しいマクロの記録(R)を開く 2) 「マクロの記録」ウィンドウが表示されたら、何も変更せずにOKをクリック 3) 画面上に二つのボタンが表示されたツールバーが現れたら、左側の「■」をクリックして記録終了 4) Altキーを押しながらF8キーを押して、マクロウィンドウを開く 5) マクロウィンドウから、編集(E)ボタンをクリック 6) 現れた「Microsoft Visual Basic」の右側に Sub Macro1() ' ' ' End Sub と書いてある部分を削除して、上の「ここから」から「ここまで」を貼り付ける。 7) もう一度Altキー+F8キーでマクロウィンドウを開き、実行(R)ボタンをクリック
お礼
やっつけ仕事だなんてとんでもない!! すばらしいです!感動しました。本当に! もしも回答が来なければ、一個一個手入力しようかと思っていたところです(笑) 丁寧に教えてくださったおかげで、とても勉強になりました。 じつは、「教えて!goo」に来たのはこれが初めてなのです。 こんなに親切で丁寧な方がいらっしゃるなんて、すてきなサイトですね。 またいつかお世話になるかもしれません。 そのときはどうぞよろしくお願いいたします。 このたびは、本当にありがとうございました。