図形をたくさん描いてみよう
前回までに、好きな場所に好きな図形を描けるようになりました。
少しなれてきましたか?
今回は、以前おぼえた、「繰り返し」や「条件分岐」を使って、図形をラクしてたくさん描いてみたいと思います。
そう、せっかくプログラミングをしているのだから、ラクをしよう!と考えることはとってもいいことです。
図形を描きたいので、エクセルのセルの目盛り線は、ちょっとじゃまですよね。「表示」タブの「表示」のところの「目盛り線」のチェックを外しておきましょう。

| 
					 1 2 3 4 5 6  | 
						Sub 図形()     Dim i As Long     For i = 1 To 10         Shapes.AddShape msoShape5pointStar, 30 * i, 20 * i, 20, 20     Next i End Sub  | 
					
結果は、こうなります。

もう、説明不要ですよね。
iを1ずつ増やしながら、10回繰り返しています。
次はどうでしょう。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  | 
						Sub 図形()     Dim i As Long     Dim j As Long     For i = 1 To 10         For j = 1 To 10             If i Mod 3 = 0 And j Mod 2 = 0 Then                 With Shapes.AddShape(msoShapeOval, 30 * i, 20 * j, 20, 20)                     .Fill.ForeColor.RGB = RGB(255, 0, 0)                     .Line.Visible = msoFalse                 End With             Else                 With Shapes.AddShape(msoShapeCube, 30 * i, 20 * j, 20, 20)                     .Fill.ForeColor.RGB = RGB(0, 128, 255)                     .Line.Visible = msoFalse                 End With             End If         Next j     Next i End Sub  | 
					

Mod というのは、割り算の余りをもとめる演算記号です。
5÷2=2余り1なので、5 Mod 2は1になります。
i Mod 3 = 0 というのは、iが3で割り切れる。つまりiが3の倍数ということです。
iが3の倍数、かつ、jが2の倍数の時だけ、丸を描け、それ以外は四角(キューブ)を描け、ですね。
.Line.Visible = msoFalse
.Line は図形の縁取りでした。縁取りなし、というのは、こんな書き方になるんですね。
こういうことをしはじめると、いくらでも遊べちゃいます。
そんな時は、気がすむまで思いっきり遊んじゃいましょう!
次回予告
次回は、三角関数で図形を円形に配置してみようです。
おたのしみに。


