第8講 配列の学習
第4話 倍加マクロ

数独
コード例
Private Sub CommandButton1_Click()
  Dim i As Byte, a(9) As Byte
  For i = 0 To 9
    a(i) = i + 1
  Next
  For i = 0 To 9
    Cells(5, 2 + i) = a(i)
  Next
  For i = 0 To 9
    Cells(7, 2 + i) = 11 - a(i)
  Next
  For i = 0 To 9
    Cells(9, 2 + i) = 2 * a(i)
  Next
End Sub
参考ファイル

では、次の課題です。
2次元配列
Dim a(8, 8) As Byte
を用意して、各変数a(i, j)に1から9の数字をランダムに代入して、
魔方陣
と表示するマクロを考えてください。
2次元For文を使いますが、
1回のFor文の中で入力と表示を行うのではなく、
2次元For文を2回使い、
1回目は代入、2回目は表示と分けてください。
Cellsは最後の段階のみで使う習慣をつけて頂きたいからです。
ただし、罫線はエクセルシートから手動で作ってください。

現時点では、数独になっていませんが、
If文を使って、行(横列、本サイトでは横列を行、縦列を単に列と呼びます。)
の条件については、この講すなわち第8講において解決して、
数独
とします。
さらに、列とブロックの条件につきましては、
第8講の範囲で扱えないことはありませんが、
81次元For文になってしまいますので現実的ではありません。
ですから、列とブロックの条件は入れません。
列とブロックの条件を入れて完成させるのは、
プロシージャの再帰的使用を主題にする第10講までお待ち頂きます。




3話へ 第5話へ


トップ

初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba マクロ 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門

数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ