オートシェイプをグリッド線に合わせたい
セルに文章や数式を書くこととは別に、オートシェイプを使って強調や吹き出しなどを作ることがあります。
ただ、オートシェイプには細かい配置がやりにくいという難点があります。
オートシェイプを選択して、矢印キーで微調整をすることはできますが、これが何個もあると時間がかかってしまいます。
よく、資料を作るのは6割ぐらいでよくて、10割を目指さないようにすること、などの話を聞きますが、それでもこだわりたくなるときや必要な場合はあるんですよね。
そういう場合に使えるマクロです。
コード
以下のマクロは選択されているオートシェイプの左上部分を、セルの左上のグリッド線に合わせて配置します。
オートシェイプが複数選択されていてもOKです。
オートシェイプをグリッド線に一度揃えたあと、必要な回数矢印キーを押せばいい、というやり方であれば微調整するよりも作業時間がかなり削減できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Sub オートシェイプをGridに合わせる() On Error GoTo ERR Dim sCell Dim shape Dim Count Count = Selection.ShapeRange.Count '// 複数選択されている場合 If (Count > 1) Then For Each shape In Selection sCell = shape.TopLeftCell.Address(False, False) shape.Top = Range(sCell).Top shape.Left = Range(sCell).Left Next '// 1つだけ選択されている場合 ElseIf (Count = 1) Then Set shape = Selection sCell = shape.TopLeftCell.Address(False, False) shape.Top = Range(sCell).Top shape.Left = Range(sCell).Left End If Exit Sub ERR: MsgBox "オートシェイプが選択されていません" End Sub |