即効テクニック

図形操作関連のテクニック

同心円を描画する

(Excel 97/2000)
Excelのシート上で同心円を描くのは、以外と中心を合わせるのが大変ですが、サンプルマクロでは、指定した数の同心円を簡単に描くことができます。

'--- 同心円を描きます ---
Sub SameCenterCircle()
    Dim i As Integer
    Dim n As Integer

    n = InputBox("いくつの円を書きますか?")
    For i = 1 To n Step 1
        en = InputBox("円の大きさを入力", i & _
                       "番目の円の大きさ(mm)を入力して下さい。")
        en2 = Application.RoundUp(en * 1.082 / 0.35, 1) / 4
        '1.082はプリンターに打ち出した時大きさを合わせる為の任意の係数です。
        '0.35は1ポイントの大きさです。(1ポイント=0.35mm)
        ActiveSheet.Shapes.AddShape(msoShapeOval, _
                                    300 - en2 * 2, _
                                    300 - en2 * 2, _
                                    en2 * 4, _
                                    en2 * 4).Select
        '300は左上の位置です。自分で設定して下さい。
        Selection.ShapeRange.Fill.Visible = msoFalse
    Next i
End Sub

'--- 選んだ図形の中心を合わせます ---
Sub CenterFit()
    Selection.ShapeRange.Align msoAlignCenters, False
    Selection.ShapeRange.Align msoAlignMiddles, False
End Sub