対象: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
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プロパティを使うと、
図形がコネクタかどうかを判定できます。
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でコネクタが存在するか調べる