Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAで図形・画像を回転する-Rotationプロパティ・IncrementRotationメソッド

Excel VBAで図形・画像を回転する-Rotationプロパティ・IncrementRotationメソッド

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2109 ビルド14430.20306 Microsoft Store)

「VBA 図形 回転」
「vba 図形の回転 Rotation」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。

どのアプリケーションか不明ですが、VBAで図形を回転させるにはどのようなコードを書けばいいのか探していた方による検索です。

「vba 画像回転」
といった検索でのアクセスもあります。

図形や画像に限らず、シート上の(セルではない)操作対象は、ShapeオブジェクトやShapeRangeオブジェクトを使ってVBAから操作できます。

Shapeを回転するサンプル

以下のSubプロシージャを実行すると、アクティブシート1つ目の図形や画像が、右回りに90度回転します。

Sub RotationプロパティでShapeを回転する()
 ActiveSheet.Shapes(1).Rotation = 90
End Sub

ShapeオブジェクトやShapeRangeオブジェクトに用意されているRotationプロパティを使うと、Shapeを回転できます。

Excel.Shape.Rotation

Rotationプロパティにマイナスの値を指定すれば、左回りで回転します。

Rotationは、基準に対して何度回転させるかを設定・取得するためのプロパティで、一度90度の回転が行われると、上記のSubプロシージャを何度実行しても、もう回転は行われません。

Shapeを何度も回転させるサンプル

一方、IcrementRotationメソッドを使った以下のSubプロシージャを実行すると、実行するたびにShapeが45度回転します。

Sub IncrementRotationメソッドでShapeを回転する()
 ActiveSheet.Shapes(1).IncrementRotation 45
End Sub

Rotationプロパティは基準に対しする回転角度を指定したのに対し、IncrementRotationメソッドを使うと、名前のとおり回転角度をインクリメントできます。

Excel.Shape.IncremantRotation

ちなみに、Excel VBAには「Increment〇〇」といった名前のメソッドが複数あり一覧にしていますので、よろしければご確認ください。

最終更新日時:2021-12-17 10:59

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAで図形・画像を回転する-Rotationプロパティ・IncrementRotationメソッド

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.