• ベストアンサー

エクセル:ランダムに配置するVBAプログラム

大学の情報の授業でVBAに関するレポートが出題され、 さっぱり分からなくて困っています。 どなたか分かる方いらっしゃいましたら、お教えください。 問題は以下の通りです。 10行10列のセル範囲に、1から100までの整数をランダムに配置するVBAプログラムを作成せよ。 ヒント:まず1から100までの数を1次元配列に格納せよ。次に、その中身をシャッフルせよ。最後に、その配列から順に10個ずつ取り出して、セル範囲に1行ごと書き出せ。 よろしくお願いします!

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

  • ベストアンサー
  • LightOKOK
  • ベストアンサー率35% (21/60)
回答No.1

Private Sub CommandButton1_Click() Dim Num(100) As Integer Dim i, j, a, b, c As Integer Randomize For i = 0 To 99 Num(i) = i + 1 Next For i = 0 To 200 a = Int(Rnd * 100) b = Int(Rnd * 100) If a <> b Then c = Num(a) Num(a) = Num(b) Num(b) = c End If Next For i = 1 To 10 For j = 1 To 10 Cells(j, i) = Num((j - 1) * 10 + i - 1) Next Next End Sub

kai1116
質問者

お礼

ご回答感謝致します。 無事解くことができました。ありがとうございました。

関連するQ&A