エクセルを使用している時、図の大きさを変更するのって面倒くさいですよね。
今回、セルの大きさに合わせて図のサイズを変更するVBAを紹介します。毎回同じサイズに変更する時などに凄く便利なプログラムです。
セルの大きさに合わせて図のサイズを変更する方法
プログラム
Sub セルの大きさに合わせて図のサイズを変更する() Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Height = Cells(1.1).Height * 10 Selection.ShapeRange.Width = Cells(1.1).Width * 5 End Sub
プログラム説明
1行目
Selection.ShapeRange.LockAspectRatio = msoFalse
デフォルトでは、LockAspectRatioプロパティは"msoTrue"になっており、図のサイズを変更しても元の図の縦横の比率を維持します。"msoFalse"にすることで、図のサイズを変更する際、図の高さと幅を個別に変更することができます。
2,3行目
Selection.ShapeRange.Height = Cells(1.1).Height * 10
Selection.ShapeRange.Width = Cells(1.1).Width * 5
Selection.ShapeRange.Width = Cells(1.1).Width * 5
ShapeRangeオブジェクトのHeightとWidthを変更することで、図の高さと幅を変更することができます。
今回はマウスで選択している図(Selection)の高さを変更するために、Selection.ShapeRange.Heightと記述しています。図の高さはA1セルの高さ(Cells(1.1).Height)を10倍したものとしています。
また、マウスで選択している図(Selection)の幅を変更するために、Selection.ShapeRange.Widthと記述しています。図の幅はA1セルの幅(Cells(1.1).Width)を5倍したものとしています。