Excelの図形の幅をセルの値で変更する方法(自作関数を使用)
シート上の数値を使って図形の位置や幅を変形させたい!
僕以外の人にそんなニーズがあるのかはわからないですが、やり方を書いてみます。
VisualBasicEditorを起動
VBAというマクロ言語を記述するために使うExcel付属のツールを使用します。
マクロを追加
上記のようにVisualBasicEditorで標準モジュールを追加し、以下のコードを記述します。
Function setShapeWidth(sName As String, sWidth As Double) As Boolean
On Error GoTo lFalse
Set shp = ActiveSheet.Shapes(sName)
shp.Width = sWidth
setShapeWidth = True
Exit Function
lFalse:
setShapeWidth = False
End Function
図形を追加
挿入で「正方形/長方形」の図形を追加します。
追加したら、図形の名称を確認します。ここでは「正方形/長方形 1」となっていました。
自作関数をセルに入力
以下の関数をセルに入力します。
=setShapeWidth("正方形/長方形 1",100)
すると図形の幅が変わったのに気がつかれましたでしょうか。
ここで、100の部分をセルを参照するように変更してみます。
=setShapeWidth("正方形/長方形 1",C2)
こうすると、C2の値を変更すると図形の幅が変わります。
以上、Excelで図形の幅をセルの値を参照して変更する方法でした。
この記事が気に入ったらサポートをしてみませんか?