図形を移動する方法を紹介します。
図形の上端・下端位置を設定する、
Top・Leftプロパティに移動位置を指定します。
基本コード
対象Shape.Top = 上端位置(単位:ポイント) 対象Shape.Left = 左端位置(単位:標準フォント文字数)
サンプルコード
Dim 対象図形 As Shape Set 対象図形 = ActiveSheet.Shapes("TextBox1") ' 絶対位置で指定 対象図形.Top = 100 ' シート最上部から100pt下に移動 対象図形.Left = 100 ' シート最左部から100文字右に移動 ' 今いる位置から移動 対象図形.Top = 対象図形.Top + 100 対象図形.Left = 対象図形.Left + 100 ' セルを基準に移動 Dim 移動先セル As Range Set 移動先セル = Range("C3") 対象図形.Top = 移動先セル.Top 対象図形.Left = 移動先セル.Left
解説
図形(Shape)を移動するには、
移動先の座標をTop/Leftプロパティで指定します。
移動先の指定方法は上記サンプルのように3種類あり、
絶対座標・今の位置から移動・セル指定で移動が可能です。
このTop/Leftは行と列で単位が全く違うことにご注意ください。
行・列にカーソルを合わせた際のピクセルではない方の値で、
行はPt、列は標準フォント基準の文字数となっているようです。
初期設定で高さ14.25、幅8.38となっていますが、
初期セルが横長であることからわかる通り、幅の単位の方がかなり大きいです。
この違いにだけ注意しておきましょう。