ここでは、ワークシート上の図形を移動させたり、その大きさを変更するサンプルスクリプトを掲載しています。
スポンサーリンク
サンプル画面
以下のように、エクセルのシート上にボタンと図形 ( 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