シート上にある画像(オートシェイプ)の高さや幅のサイズを変更する記録です。
高さは「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
こんな記事も書いています