第7講 For文を入れ子式に使い多次元ループを実現する
第3話 自然配列解答例
を実現するプログラム例
Private Sub CommandButton1_Click()
Dim i As Byte, j As Byte
For i = 1 To 10
For j = 1 To 10
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
Next
Next
End Sub
参考ファイル
解説
簡単にトレースしてみましょう。
i = 1 の場合
j = 1 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 1, 1 + 1) = 10 * (1 - 1) + 1
から
Cells(5, 2) = 1
で確かにB5に1が入ります。
j = 2 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 1, 1 + 2) = 10 * (1 - 1) + 2
から
Cells(5, 3) = 2
で確かにC5に2が入ります。
j = 3 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 1, 1 + 3) = 10 * (1 - 1) + 3
から
Cells(5, 4) = 3
で確かにD5に3が入ります。
・
・
・
j = 10 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 1, 1 + 10) = 10 * (1 - 1) + 10
から
Cells(5, 11) = 10
で確かにK5に10が入ります。
i = 2 の場合
j = 1 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 2, 1 + 1) = 10 * (2 - 1) + 1
から
Cells(6, 2) = 11
で確かにB6に11が入ります。
j = 2 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 2, 1 + 2) = 10 * (2 - 1) + 2
から
Cells(6, 3) = 12
で確かにC6に12が入ります。
・
・
・
j = 10 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 2, 1 + 10) = 10 * (2 - 1) + 10
から
Cells(6, 11) = 20
で確かにK6に20が入ります。
・
・
・
i = 10 の場合
j = 1 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 10, 1 + 1) = 10 * (10 - 1) + 1
から
Cells(14, 2) = 91
で確かにB14に91が入ります。
j = 2 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 10, 1 + 2) = 10 * (10 - 1) + 2
から
Cells(14, 3) = 92
で確かにC14に92が入ります。
・
・
・
j = 10 のとき
Cells(4 + i, 1 + j) = 10 * (i - 1) + j
は
Cells(4 + 10, 1 + 10) = 10 * (10 - 1) + 10
から
Cells(14, 11) = 100
で確かにK14に100が入ります。
以上から、
が実現します。
次の課題です。
参考ファイルをさらに改良して、
となるように変更しましょう。
初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba マクロ 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門
数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ