- ベストアンサー
Excel VBA 半円を描くサブルーチンについて
はじめまして。課題がわからないので教えて頂きたく質問しました。 ExcelでツールのマクロからVisual Basicを使って半円を描くサブルーチンを示せ。という課題です。円を描くことはできるのですが、どうしたら半円になるのかわかりません。 初心者なのでわかりやすく説明して頂けると嬉しいです。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
角度を0-180度に変化させて(Step数-1だけ間引いて)、XとY座標を計算し 前の点と今回の点の間に線を引くことを切り返してます。 最後に直径の直線を引いてます。 SIN・COSを使う場合は角度はラヂアンで入れる必要があります。半径は100、中心は200,200です。 ActiveSheet.DrawingObjects.Delete はテスト時に上手く行かなかった図を消すためのものです。 Sub test01() ActiveSheet.DrawingObjects.Delete pai = 3.14159265 For i = 0 To 180 Step 3 x = 100 * Cos(i * pai / 180) y = 100 * Sin(i * pai / 180) ActiveSheet.Shapes.AddLine mx + 200, -my + 200, x + 200, -y + 200 mx = x my = y Next i ActiveSheet.Shapes.AddLine 100 + 200, 0 + 200, -100 + 200, 0 + 200 End Sub
お礼
早速の回答ありがとうございます。期限が近かったので助かりました。 解説まで付けて頂いたお陰でプログラムの意味もよくわかりました。本当にありがとうございました。