図形の移動
図形(オートシェイプ)を移動したいときは Shape.Leftプロパティ、Shape.Topプロパティ を使います。
Leftプロパティ は左端の位置、Topプロパティ は上端の位置を設定します。
設定方法は以下のようなものがあります。
- ワークシートの左/上端からの距離で設定する場合
Shape.Left/Top = ポイント数
- セルの左/上端に合わせる場合
Shape.Left/Top = Range(“セル“).Left/Top
- 現在の位置から何ポイント移動するか決める場合
Shape.Left/Top= .Left/Top +/- ポイント数
図形を移動するサンプルコード
Public Sub Sample()
'図形を作成
ActiveSheet.Shapes.AddShape(msoShapeOval, 50, 50, 80, 80).Name = "丸"
'■ワークシートからの距離を指定して移動
With ActiveSheet.Shapes("丸")
.Left = 100 ' ワークシートを基準に100pt左
.Top = 100 ' ワークシートを基準に100pt下
End With
'■セル番地を指定して移動
With ActiveSheet.Shapes("丸")
.Left = Range("B1").Left ' セルB1の左端に合わせる
.Top = Range("A3").Top ' セルA3の上端に合わせる
End With
'■現在の位置から動かすポイント数を指定して移動
With ActiveSheet.Shapes("丸")
.Left = .Left + 20 ' 右へ20pt
.Top = .Top - 10 ' 上へ10pt
End With
End Sub



コメント