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
注意点
- 図形の”回転”は”反転”とは別物です。
※図形の反転についてはコチラをご覧ください。
関連記事
- 図形(オートシェイプ)を作成する【Shapes.AddShapeメソッド】
- 図形に名前をつける/取得する【Shape.Nameプロパティ】
- 図形を複数選択する方法【Select Replace】【Rangeプロパティ】
- 図形を反転させる【Shape.Flipメソッド】



コメント