画像サイズ

Excel VBAでシート上にある画像(オートシェイプ)の高さや幅のサイズを変更する記録です。

高さは「Height」プロパティ、幅は「Width」プロパティを使います。

画像の高さと幅のサイズの比率を保持する設定は「LockAspectRatio」プロパティを使います。

< スポンサーリンク >





シート上の画像のサイズを変更する例

画像の縦横の比率を保持

画像の縦横の比率を保持したまま、高さを200ポイントに設定します。

Sub test()
     Dim shp As Shape
     Set shp = ActiveSheet.Shapes(1)
 
     With shp
         .LockAspectRatio = msoTrue
         .Height = 200
     End With
 End Sub
画像サイズ
画像サイズ

 

画像の縦横の比率を保持したまま、幅を200ポイントに設定します。

Sub test()
     Dim shp As Shape
     Set shp = ActiveSheet.Shapes(1)
 
     With shp
         .LockAspectRatio = msoTrue
         .Width = 200
     End With
 End Sub
画像サイズ
画像サイズ

 

画像の縦横の比率を保持したまま、高さを2~6行の高さに設定します。

Sub test()
     Dim shp As Shape
     Set shp = ActiveSheet.Shapes(1)
 
     With shp
         .LockAspectRatio = msoTrue
         .Height = ActiveSheet.Range("2:6").Height
     End With
 End Sub
画像サイズ
画像サイズ

 

画像の縦横の比率を保持したまま、幅をB~Dの列の幅に設定します。

Sub test()
     Dim shp As Shape
     Set shp = ActiveSheet.Shapes(1)
 
     With shp
         .LockAspectRatio = msoTrue
         .Width = ActiveSheet.Range("B:D").Width
     End With
 End Sub
画像サイズ
画像サイズ

 

画像の縦横の比率を保持しない

画像の縦横の比率を保持せず、高さも幅も100ポイントに設定します。

Sub test()
    Dim shp As Shape
    Set shp = ActiveSheet.Shapes(1)

    With shp
        .LockAspectRatio = msoFalse
        .Height = 100
        .Width = 100
    End With
End Sub

画像サイズ
画像サイズ

 

画像の縦横の比率を保持せず、高さを2~6行目の高さに、幅をB~D列の幅に設定します。

Sub test()
    Dim shp As Shape
    Set shp = ActiveSheet.Shapes(1)

    With shp
        .LockAspectRatio = msoFalse
        .Height = ActiveSheet.Range(“2:6”).Height
        .Width = ActiveSheet.Range(“B:D”).Width
    End With
End Sub

画像サイズ
画像サイズ

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします