VBA|ワークシート上の図形の位置を移動させる方法

エクセルVBA VBAで画像・図・グラフの操作



ワークシート上にある図形を、同一ワークシート上の別の位置に移動させるVBAを紹介します。

上図のように、青色の「ひし形1」をJ列に移動させるVBAは以下のようになります。

Sub 図形移動()

   ActiveSheet.Shapes("ひし形 1").Left = Range("J2").Left

End Sub

「ひし形1」の左端を、セル「J2」の左端に合わせる。という記述です。

実行すると、下図のように「ひし形1」がセル「J2」に移動します。


このように、移動先のセルを指定することで、わざわざ切り取り(Cut)やコピー(Copy)をしなくても図形の位置を移動させることができるのです。

もし、左端だけではなく、上端も合わせたい、、、というときは、

Sub 図形移動()

   ActiveSheet.Shapes("ひし形 1").Left = Range("J2").Left
   ActiveSheet.Shapes("ひし形 1").Top = Range("J2").Top

End Sub

このように、「Left」のほかに「Top」も合わせて記述することで、図形の左端や上端を目的のセルの位置に移動させることができるのです。

コメント

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