図形をたくさん描いてみよう
前回までに、好きな場所に好きな図形を描けるようになりました。
少しなれてきましたか?
今回は、以前おぼえた、「繰り返し」や「条件分岐」を使って、図形をラクしてたくさん描いてみたいと思います。
そう、せっかくプログラミングをしているのだから、ラクをしよう!と考えることはとってもいいことです。
図形を描きたいので、エクセルのセルの目盛り線は、ちょっとじゃまですよね。「表示」タブの「表示」のところの「目盛り線」のチェックを外しておきましょう。
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 は図形の縁取りでした。縁取りなし、というのは、こんな書き方になるんですね。
こういうことをしはじめると、いくらでも遊べちゃいます。
そんな時は、気がすむまで思いっきり遊んじゃいましょう!
次回予告
次回は、三角関数で図形を円形に配置してみようです。
おたのしみに。