• ベストアンサー

※ マクロ問題 順列の列挙 マクロで教えてください

マクロの初心者です。初心者でも分かるようなシンプルなプログラムで考えていただけませんか?自分なりに組んでみたのですがイマイチ上手く作動しません。色んな書き方があるとは思いますが、色んな考えかた(プログラムの書き方)を聞いてみたいと思って投稿させていただきました。 問1) 10個の中から、6個取る重複順列を列挙するプログラムをマクロで、書くとどうなるでしょうか? 問2) 8個の中から、5個取る重複順列を列挙するプログラムをマクロで、書くとどうなるでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>B1を起点に(10個の中から、6個取る重複順列を列挙する場合)なら210通りすべての組み合わせを表示 B列~G列に210行表示しました。 Sub 組合せ()   Dim i As Long, v As Variant   Dim n1 As Long, n2 As Long, n3 As Long, n4 As Long, n5 As Long, n6 As Long   v = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")   For n1 = 1 To 10 - 5     For n2 = n1 + 1 To 10 - 4       For n3 = n2 + 1 To 10 - 3         For n4 = n3 + 1 To 10 - 2           For n5 = n4 + 1 To 10 - 1             For n6 = n5 + 1 To 10               i = i + 1               Cells(i, "B").Value = v(n1 - 1)               Cells(i, "C").Value = v(n2 - 1)               Cells(i, "D").Value = v(n3 - 1)               Cells(i, "E").Value = v(n4 - 1)               Cells(i, "F").Value = v(n5 - 1)               Cells(i, "G").Value = v(n6 - 1)             Next n6           Next n5         Next n4       Next n3     Next n2   Next n1 End Sub

goemon_2012
質問者

お礼

ご回答、ありがとうございます。 すごく、参考になりました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

結果をどう得たいのか、補足してください。 #そのそも「何の」マクロなんでしょうかね?ExcelのVBA? #ロト6とminiロトの予想アプリを探すほうが楽かも

goemon_2012
質問者

お礼

ご指摘、ありがとうございます。 分かりにくい質問ですみませんでした。

goemon_2012
質問者

補足

マクロって色々あるんですか?知りませんでした。ぼくの知りたいのはエクセルのVBAのことです。なにぶん最近、パソコンを始めたばかりで知らないことだらけです。質問の仕方が悪かったみたいで、失礼しました。 お察しの通り、ぼくのしたいことはロト6の予想をする時に組み合わせを自分なりに組んでみたいと思ったのです。なので、ご指摘の予想アプリを探したほうが楽だとは思いますが、自分で作ったもので色々検討しながら組み合わせの予想をしてみたいのです。そのほうが見えない何かを見いだせるのではないかと考えています。 初心者には無理だと言われれば、それまでなのですが自分でどこまでできるのかを試してみたいと思っています。お時間のあればご指導ください。 ぼくの知りたい結果は、例えば、A1セルでマクロをスタートさせたら、B1を起点に(10個の中から、6個取る重複順列を列挙する場合)なら210通りすべての組み合わせを表示させたいと思っています。 よろしくお願いします。

関連するQ&A