• 締切済み

困ってます! 組合せの出力コードを教えてください!

1から10までの数字から、ランダムに3つを選んだ場合の全パターンをエクセルで出力したいのですが、まったくの初心者でわかりません。 どなたかVBEのコードなど、一覧を書き出せるような方法を教えてください! お願いします!!

みんなの回答

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.3

No.1です。方法ですか、、説明するとなるとコードの方が楽そうですが、コードでない方法を書きます。まず、A1に数字で0 B1に[=LEFT(TEXT(A1,"000"),1)+1] C1に[=MID(TEXT(A1,"000"),2,1)+1] D1に[=RIGHT(TEXT(A1,"000"),1)+1]と入力してください。([]は必要ありません。) 次にA1からA1000までを選択して、「編集」→「フィル」→「連続データ」でOK(たぶん増分1となっているはずなので)を実行してください。そうすると0~999のナンバーがふられるはずです。 次にB1からD1000までを選択して下方向にコピー(Ctrl+D) これで完成です。 B列が1回目 C列が2回目 D列が3回目 です。(別に決まっていませんが) あとは任意の範囲(用紙サイズに合わせて)で選択、コピー→「形式を選択してペースト」で「値」を選んでペーストすれば良いかと思います。今回は10パターンの3回なので10進数(0~9)が3ケタであればよいので000~999として各桁を引っ張り出してそれに1を加えています。(1~10なので)

wakaban
質問者

お礼

ありがとうございました!! なんとか形になりました。これで重複を排除できれば最高ですが、難しいですよね? ひとつひとつ消してみることにします!

noname#78947
noname#78947
回答No.2

Dim セル名 as String Dim A as Integer Dim B as Integer Dim C as Integer For A=1 To 10 For B=1 To 10 For C=1 To 10 セル名=A & A * B * C Worksheets("シート名").Range(セル名) = A * B * C Next C Next B Next A 上記で計算できます。ただ、これは非常に簡単に作っただけなので計算結果が同じになったときにも全て記載されるので10の3乗個=1000個のデータが出てきます。重複するデータを除外する計算は勉強もかねて自分で作ってください。

wakaban
質問者

お礼

ありがとうございます! これはVBEというやつで実行したらいいんですよね? 試してみます!

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

1000パターンしかないので、VBAでやるより普通にセルに数字を列挙した方が速いと思いますが?

wakaban
質問者

お礼

早速の返信ありがとうございます。VBAは似たような質問がないか検索した際にたまたまその回答があったので例に出した程度です。どんな方法でもかまいませんので、超初心者の私でも出力できる方法を教えてください!

関連するQ&A