【Excel図形】よく使う図形を一瞬で配置する方法3選

「図形を挿入するのって、結構手間だよな…」
「クイックアクセスツールバーでも、選択が必要だし」
「色とかの設定も毎回面倒…」

図で整理したり、フローチャートを書いたりする際には、Excelの図形を頻繁に使います。

しかし、「図を選んで、挿入して、形式を整えて」を毎回繰り返しているとストレスが溜まってきます。

この記事では、よく使う図形を「一瞬で配置できる方法」を紹介します。

※シンプルな図

目次

図形の配置を整えておきたい理由

ひとことで言えば、

 図の配置には時間がかかるから

です。

冒頭に書いたとおり、ショートカットの王道としては「クイックアクセスツールバーを使う」というものがあります。

しかし、図の挿入に関しては、図の選択までしかできず、通常の手順よりあまり早くはなりません。

※こんな感じで、結局選択の手間がかかる

そのため、より早くストレスなく配置ができる方法を考えていきます。

具体的な3つの方法

  • プログラミング不要
  • マクロのみ
  • VBAも活用

の3点に分けて解説します。

お好きなものを活用いただければと。

①コピペ用シートを作成(プログラミング不要)

シンプルですが、よく使う図形を「コピペ」で設置できますので使い勝手は良いです。

「図」のようなシートを準備して、よく使う図形を置いておくだけの方法です。

図のシートにさっと移動できるようにしておけば、コピペだけで活用できますのでプログラミングは不要です。

手軽に効率化したい場合は、この方法がおすすめです。

②マクロを活用する

2つ目の方法は、マクロ(操作を記録する)方法です。

これも詳細なプログラミングの理解は不要で、直感的にできます。

例えば、

  • 楕円
  • 塗りつぶしなし
  • 赤枠線

といったものを作りたいときは、以下のように操作します。

STEP
Excel左下の「マクロの記録」を押下
STEP
図の作成(挿入⇒図⇒楕円)
STEP
図形を右クリックして、形式を整える
STEP
Alt + F8でショートカットキーの割り当て

このように設定すれば、上記で作った図と全く同じものを作成できます。

ただし、記録したとおりにしか再現ができないため、

  • 挿入する場所
  • 図形の大きさ

といった点では、少し柔軟性に欠ける面もあります。

③VBAの活用

少しだけコードを記載することに抵抗がなければ、一番おすすめの方法です。
最も柔軟で、再利用性が高い方法がこのVBAです。

先にコードを示すと、以下のような形です。

  • 共通コード
  • 個別コード

の2段階で書いていきます。

■共通のコード

Sub 図形を作る_セル基準(図形種類 As MsoAutoShapeType)
    
    Dim shp As Shape
    Dim c As Range
    
    Set c = Selection.Cells(1, 1)
    
    Set shp = ActiveSheet.Shapes.AddShape( _
        図形種類, _
        c.Left, _
        c.Top, _
        c.Width, _
        c.Height _
    )
    
    ' 塗りつぶしなし
    shp.Fill.Visible = msoFalse
    
    ' 線の設定
    With shp.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Weight = 1.5
    End With

End Sub

まず、どの図形にも共通する部分の設定をします。

Sub 図形を作る_セル基準(図形種類 As MsoAutoShapeType)

では、

  • このコードの名前(図形を作る_セル基準)の設定
  • コードに渡される図形種類の設定

をしています。

「MsoAutoShapeType」は、「個別コードで設定した図形の形が入ってくる」とご理解いただければOKです。
 ※楕円・四角など、Excelで選べる図形の種類を表しています

これにより、同じ共通コードを使い回しながら、図形だけを切り替えることができます。

    Dim shp As Shape
    Dim c As Range

では変数の設定を。

  Set c = Selection.Cells(1, 1)
    
    Set shp = ActiveSheet.Shapes.AddShape( _
        図形種類, _
        c.Left, _
        c.Top, _
        c.Width, _
        c.Height _
    )

では、図形の配置位置を整理しています。

「Selection.Cells(1, 1)」は、選択したセルの左上を意味します。

ここを基準に、セルの形に合わせるようにLeft~Heightまでの記載をしています。

' 塗りつぶしなし
    shp.Fill.Visible = msoFalse
    
    ' 線の設定
    With shp.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Weight = 1.5
    End With

ここでは「塗りつぶし」と「線」の形式の設定をしています。
(塗りつぶしなし、赤枠線の設定です)

これで共通の設定は完了です。

◇個別のコード

Sub ○()
    図形を作る_セル基準 msoShapeOval
End Sub

Sub □()
    図形を作る_セル基準 msoShapeRectangle
End Sub

Sub △()
    図形を作る_セル基準 msoShapeIsoscelesTriangle
End Sub

次に、個別の図形の設定をしていきます。

ここのケースでは、丸、三角、四角の3つを記載してみました。

いずれも「図形を作る_セル基準 ●●」の形になっていますが、「●●」によく使う図形を入れて頂ければOKです。
(ネットで調べればすぐに探し出せます)

実行の流れとしては、下表のように

 個別コードで設定した図形を共通コードに入れて挿入がされていく

といったイメージです。

また、ショートカットキーの設定は②と同様です。

よく使う図形を確認してみよう

以上、よく使う図形を一瞬で配置する方法を3つご紹介しました。

ご自身に合った方法で、効率化を進めていただければと思います。

項目①コピペ②マクロ③VBA
難易度
スピード
柔軟性
使いやすさ

一長一短ではありますが、VBAにアレルギーがなければ、1番おすすめです。
(②マクロは、単独では使いにくいかも)

以上、少しでも参考になる点があれば嬉しいです。

では、また次回。

編集後記

◇日記
 昨日もオフ。早朝にブログ執筆&YouTube撮影から。
 最近、YouTube撮影中に長男が起きてくることが多いので注意せねばと。
 日中は親族の集まりなど。

◇ブログネタ経緯
 図形VBAを整理していたときのメモから

◇1日1新
 VOXY給油

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

●1990年4月生まれ。東京都出身。
●『時間とお金』『家庭と仕事』『思考と行動』の悩みをサポート。
●IT、発信、営業、会計、税金に強みを持つ。
●公認会計士。
●3児(みんな男の子)の父。

目次