第5講 4次魔方陣と6次魔方陣の作成
第4話 逆対角線部分も交換する

031

から実行ボタンを押すと、
036
となり、消去ボタンを押すと、
031
に戻る
を実現するプログラム例
Private Sub CommandButton1_Click()
  CommandButton2_Click
  Dim i As Byte, j As Byte
  For i = 0 To 3 'B2からE6に自然配列を作る
    For j = 0 To 3
      Cells(3 + i, 2 + j) = 4 * i + j + 1
    Next
  Next
  For i = 0 To 3 'B2からE6の内容をB7からE11にコピーする
    For j = 0 To 3
      Cells(8 + i, 2 + j) = Cells(3 + i, 2 + j)
    Next
  Next
  Dim w As Byte
  Cells(7, 2) = "対角線を交換すると、"
  For i = 0 To 1 '対角線部分を交換する
    w = Cells(11 - i, 5 - i)
    Cells(11 - i, 5 - i) = Cells(8 + i, 2 + i)
    Cells(8 + i, 2 + i) = w
  Next
  
For i = 0 To 3 'B7からE11の内容をB12からE16にコピーする
    For j = 0 To 3
      Cells(13 + i, 2 + j) = Cells(8 + i, 2 + j)
    Next
  Next
  Cells(12, 2) = "逆対角線を交換すると、"
  For i = 0 To 1 '逆対角線部分を交換する
    w = Cells(16 - i, 2 + i)
    Cells(16 - i, 2 + i) = Cells(13 + i, 5 - i)
    Cells(13 + i, 5 - i) = w
  Next
  Cells(17, 2) = "4次魔方陣の完成!"

End Sub
Private Sub CommandButton2_Click()
  Rows("3:2000").Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
参考ダウンロード添付ファイル

皆さんの頭には?がたくさん浮かんでいるでしょう。
次話で詳しく解説します。




第3話へ 第5話へ


トップへ