[ Excel-VBA ] シート上の図形の移動と大きさ(サイズ)の変更

Pocket

ここでは、ワークシート上の図形を移動させたり、その大きさを変更するサンプルスクリプトを掲載しています。

スポンサーリンク

サンプル画面

以下のように、エクセルのシート上にボタンと図形 ( 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
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *