1
1

More than 3 years have passed since last update.

Excelでオートシェイプを選択順にコネクタで接続する

Posted at

はじめに

フローチャートを綺麗につくるのは難しい。工程が増えると信じられない量のコネクタを繋ぐことに、、、
縦に長くなったフローチャートの各工程をメインの一本のみ(分岐とかは未対応)ひたすら繋ぐマクロの紹介です。
なぜかexcelで見つからなかったので、
以下参考URLです。
1. エクセルで選択したオートシェイプを取得する
2. 今回やりたいことのパワーポイント版
3. エクセルで図形を生成しコネクタを接続する

マクロ紹介

Sub connect()
    Dim con As Shape 'コネクタの定義
    Dim i As Long

    With Selection '以降ドット(.)で始まるものはSelectionを省略しますという構文
        For i = 1 To .ShapeRange.Count - 1 '選択数した図形の個数-1
            Set con = ActiveSheet.Shapes.AddConnector _(msoConnectorStraight, 1, 1, 1, 1) 'コネクタの種類の設定
            con.ConnectorFormat.BeginConnect .ShapeRange(i), 1 'コネクタ始点の指定
            con.ConnectorFormat.EndConnect .ShapeRange(i + 1), 1 'コネクタ終点の指定
            con.RerouteConnections '一番近い箇所に接続しなおし
        Next i
    End With
End Sub

最後に

ほぼ手抜きのため図形を選択していないと変なエラーになります。さらに、オブジェクトの選択カーソルでまとめて選択すると順番バグってちぐはぐに接続されます。
繋ぎたい順番にCtrl押しながら選択するのをおすすめします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1