【VBA】Excel方眼紙に合わせて図形サイズを変更する方法

Excel方眼紙に合わせて図形サイズを変更するのが面倒だと思ったことはありませんか?

今回はExcel VBAを使って図形サイズを自動的に調整する方法について説明していきます。

準備

以下のコードを適当なモジュールに貼り付けます。

「cellCm」の部分は方眼紙の1目盛りあたりの大きさをcm単位で指定してください。デフォルトでは1目盛り1cmで定義されています。

Public Sub 図形を方眼紙に合わせてサイズ変更()
    Const cellCm = 1 '1目盛りのサイズをcm単位で指定
    '図形サイズ入力
    On Error GoTo TargetErr
    Dim shp As Shape: Set shp = ActiveSheet.Shapes(Selection.Name)
    On Error GoTo Cancel
    Dim shpW As Double:  shpW = CDbl(InputBox("横幅をcm単位を入力してください。"))
    Dim shpH As Double: shpH = CDbl(InputBox("縦幅をcm単位を入力してください。"))
    On Error GoTo 0
    '図形サイズ変更
    With shp.TopLeftCell
        shp.Width = .Width / 1 * shpW
        shp.Height = .Height / 1 * shpH
    End With
    Exit Sub
TargetErr:
    MsgBox "図形を1つ選択してください。", vbCritical
Cancel:
End Sub

使用方法

以下の手順でマクロを実行します。

1.サイズを変更したい図形を1つ選択します。

2.開発タブのマクロをクリックします。

3.「図形を方眼紙に合わせてサイズ変更」をクリックします。

4.図形の横幅と縦幅をcm単位で入力します。

図形のサイズが自動的に変更されれば作業完了です。

タイトルとURLをコピーしました