第2講 試行錯誤法でヒント数0数独の解答を作る(1)
第3話 4次順列自動生成ソフト
※本ページは初心者のための excel 2016 マクロ vba 入門講義 基礎から応用まで 第1部の第8講第6話を再利用しています。

ju
を実現するプログラム例
Private Sub CommandButton1_Click()

  CommandButton2_Click
  f '4次順列作成プロシージャ

End Sub
Sub f()

  Dim i As Integer, j As Integer
  Dim k As Integer, cn As Integer
  Dim a(4) As Integer '順列を収納する配列
  cn = 0 'cnは順列総数をカウントする変数、0に初期化
  For i = 1 To 4
    a(0) = i 'セル番号0に1から4を入力
    For j = 1 To 4
      If j <> a(0) Then
        a(1) = j 'セル番号1に1から4を入力
        For k = 1 To 4
          If k <> a(0) And k <> a(1) Then
            a(2) = k 'セル番号2に1から4を入力
            For l = 1 To 4
              If l <> a(0) And l <> a(1) And l <> a(2) Then
                a(3) = l 'セル番号3に1から4を入力
                Call g(cn, a())
                cn = cn + 1
              End If
            Next
          End If
        Next
      End If
    Next
  Next

End Sub

Sub g(cn As Integer, a() As Integer) '順列表示プロシージャ

  Dim i As Integer
  For i = 0 To 2
    Cells(5 + Int(cn / 5), 1 + i + 4 * (cn Mod 5)) = a(i)
  Next

End Sub

Private Sub CommandButton2_Click()

  Rows("4:20000").Select
  Selection.ClearContents
  Cells(1, 1).Select

End Sub
参考ダウンロード添付ファイル

次は
po
wqe
5次順列自動生成ソフト作成です。




第2話へ 第4話へ



トップへ