Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » VBAでコネクタが存在するか調べる

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel vba shape コネクタがあるか?」
という検索でアクセスがありましたので参考になりそうな簡単なExcelマクロを作ってみました。

[スポンサードリンク]

アクティブシートにコネクタが存在するか調べるサンプルマクロ

以下のようなSubプロシージャで、アクティブシートにコネクタが存在するかどうかを判定できます。

Sub コネクタが存在するかを調べる()
 Dim shp As Shape

 For Each shp In ActiveSheet.Shapes
  If shp.Connector Then
   MsgBox "コネクタが存在します!"
   Exit Sub
  End If
 Next shp
 MsgBox "コネクタは存在しません。"
End Sub

サンプルマクロで使用しているオブジェクト式について

ShapeオブジェクトやShapeRangeオブジェクトの、Connectorプロパティを使うと、

VBAでコネクタが存在するか調べる

図形がコネクタかどうかを判定できます。

Connectorというプロパティ名は、どうもモヤモヤした感情が残りますが。

ですから、アクティブシート上の全Shapeに対してFor Each~Nextループを回して、
 For Each shp In ActiveSheet.Shapes

Shape.Connectorプロパティを調べて、
  If shp.Connector Then

コネクタだったときにメッセージを表示して、Subプロシージャを抜け、
   MsgBox "コネクタが存在します!"
   Exit Sub

最後までFor Each~Nextループを回したということは、コネクタが存在しなかったということなので、その旨メッセージを表示しています。
 MsgBox "コネクタは存在しません。"

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » VBAでコネクタが存在するか調べる

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.