関数・メソッド

図形を回転させる【Shape.Rotationプロパティ】【ExcelVBA】

Shape.Rotationプロパティ

図形(オートシェイプ)を回転したいときは Shape.Rotationプロパティ を使用します。
つけたい角度を指定できるので、細かい表現が可能です。

使い方
Shapeオブジェクト.Rotation = 角度の数値

※角度は正の値が時計回り負の値が反時計回りです。

 

角度について

指定する角度は、図形を作成した時の向きが基準(0度)になります。

Rotation = 0          → 作成時の向き
Rotation = 90          → 作成時から右に90度
Rotation = Rotation + 90    → 現在の向きから右に90度

矢印の図形を作成するとわかりやすいので、試行の際は矢印を使ってみてください。

 

図形を反転させるサンプルコード

Public Sub Sample()
  '図形(矢印)を作成
   ActiveSheet.Shapes.AddShape(msoShapeUpArrow, 50, 50, 80, 80).Name = "図形 1"
   ActiveSheet.Shapes.AddShape(msoShapeUpArrow, 150, 50, 80, 80).Name = "図形 2"
   ActiveSheet.Shapes.AddShape(msoShapeUpArrow, 250, 50, 80, 80).Name = "図形 3"

'■単体の図形を回転させる
  '時計回りに90度まで回転
   ActiveSheet.Shapes("図形 1").Rotation = 90
   
  '反時計回りに90度まで回転
   ActiveSheet.Shapes("図形 1").Rotation = -90
      
    
'■複数の図形を回転させる
  '複数の図形を選択
   ActiveSheet.Shapes.Range(Array("図形 1", "図形 3")).Select
   
  '選択中の図形を45度まで回転
   Selection.ShapeRange.Rotation = 45

End Sub

Public Sub Sample2()
'■現在の角度に15度加算する
   With ActiveSheet.Shapes("図形 2")
        .Rotation = .Rotation + 15
   End With

End Sub

Public Sub Sample3()
'■ループして全ての図形を回転
   Dim shp As Shape
 
   For Each shp In ActiveSheet.Shapes
         shp.Rotation = 180
   Next shp

End Sub

 

注意点

  • 図形の”回転”は”反転”とは別物です。
    ※図形の反転についてはコチラをご覧ください。

 

関連記事

 

コメント

タイトルとURLをコピーしました