ここでは、ワークシート上の図形を移動させたり、その大きさを変更するサンプルスクリプトを掲載しています。
スポンサーリンク
サンプル画面
以下のように、エクセルのシート上にボタンと図形 ( fig1 ) を配置して、ボタンクリック時に、図形に対してそれぞれの操作を行います。 ここで示すサンプルスクリプトでは、図形の名前を指定して操作を行っています。図形の名前は赤枠で囲まれた部分で設定することができます。

シート上の図形の移動とサイズを変更する
シート上の図形の移動とサイズの変更を行う VBA サンプルスクリプトです。詳細はサンプル内のコメントを参照ください。
'
' 上に移動する
'
Private Sub CmdUp_Click()
Dim currTop As Variant
Dim currLeft As Variant
' 図形の現在の図の位置を取得する
With Sheets("Sheet1").Shapes("fig1")
currTop = .Top
currLeft = .Left
End With
' 図形の現在の位置を上に移動する
' Top位置を小さくする
With Sheets("Sheet1").Shapes("fig1")
.Top = currTop - 10
.Left = currLeft
End With
End Sub
'
' 下に移動する
'
Private Sub CmdDown_Click()
Dim currTop As Variant
Dim currLeft As Variant
' 図形の現在の図の位置を取得する
With Sheets("Sheet1").Shapes("fig1")
currTop = .Top
currLeft = .Left
End With
' 図形の現在の位置を下に移動する
' Top位置を大きくする
With Sheets("Sheet1").Shapes("fig1")
.Top = currTop + 10
.Left = currLeft
End With
End Sub
'
' 大きくする
'
Private Sub CmdBig_Click()
Dim currHeight As Variant
Dim currWidth As Variant
' 図形の現在の縦横の長さを取得する
With Sheets("Sheet1").Shapes("fig1")
currWidth = .Width
currHeight = .Height
End With
' 図形の現在の縦横の長さを2倍にする
With Sheets("Sheet1").Shapes("fig1")
.Width = currWidth * 2
.Height = currHeight * 2
End With
End Sub
'
' 小さくする
'
Private Sub CmdSmall_Click()
Dim currHeight As Variant
Dim currWidth As Variant
' 図形の現在の縦横の長さを取得する
With Sheets("Sheet1").Shapes("fig1")
currWidth = .Width
currHeight = .Height
End With
' 図形の現在の縦横の長さを半分にする
With Sheets("Sheet1").Shapes("fig1")
.Width = currWidth / 2
.Height = currHeight / 2
End With
End Sub