即効テクニック

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

図形の大きさを調整する

(Excel 2013/2016)
Heightプロパティで図形の高さを、Widthプロパティで図形の幅を、ポイント単位で設定します。


  構文  Object.Height     図形の高さ     設定/取得
        Object.Width      図形の幅       設定/取得


  設定項目             内容
  Object               Shape、ShapeRangeコレクションオブジェクト [省略不可]


次のサンプル1は、アクティブシートの1つ目の図形の高さを100ポイントに設定します。


●サンプル1●
 Sub HeightAndWidthSamp1()

     With ActiveSheet.Shapes(1)
         .LockAspectRatio = True   '---(1)図形の縦横の比率を固定
         .Height = 100#            '---(2)高さを100ポイントに設定
 '       .Width = 100#             '---(3)幅を100ポイントに設定
     End With

 End Sub


(1)のステートメントでは、LockAspectRatioプロパティにTrueを設定することで図形の縦横の比率を固定します。したがって、(2)のステートメントで高さを設定するだけで、幅も同じ比率で変化します。コメント行にしている(3)のステートメントを有効にすれば、幅が100ポイントに設定され、高さも同じ比率で設定されます。

なお、元のサイズに対する倍率で大きさを設定する際には、ScaleHeight/ScaleWidthメソッドを使用します。
次のサンプル2は元のサイズに対して、高さを4倍に、幅を2倍に設定します。


●サンプル2●
 Sub HeightAndWidthSamp2()

     With ActiveSheet.Shapes(1)
         .ScaleHeight 4!, False    '---現在の高さに対して4倍の高さに設定
         .ScaleWidth 2!, False     '---現在の幅に対して2倍の幅に設定
     End With

 End Sub