Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAでSmartArtを選択する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2006 ビルド13029.20308 Microsoft Store)

「excel vba smartart 選択」
という検索キーワードでアクセスがありました。

詳細はわかりませんけれど、Excel VBAを使ってSmartArtを選択するには、どのようなコードを書けばいいのか探していらしたのでしょう。

[スポンサードリンク]

SmartArtを選択するサンプルマクロ

以下のSubプロシージャが参考になるでしょうか。

Sub SmartArtを選択する()
 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.HasSmartArt Then
   shp.Select
   Exit Sub
  End If
 Next
End Sub

サンプルマクロで行っている処理

SmartArtはShapeオブジェクトの一種です。HasSmartArtプロパティがmsoTrueを返すShapeが、SmartArtを含んでいます。

拙著『いちばんやさしいPowerPoint VBAの教本』のLesson 41で、Shapeオブジェクトが持つHasSmartArtプロパティで、SmartArtを含むかを判定できると少しだけ触れています。Excel VBAの場合も同じです。

上記のSubプロシージャでは、アクティブなシートに存在する全ShapeをFor Each~Nextループで順番に取得し、
 For Each shp In ActiveSheet.Shapes

Shape.HasSmartArtプロパティがTrueだったときに、
  If shp.HasSmartArt Then

選択して、Subプロシージャを終了しています。
   shp.Select
   Exit Sub

「excel vba smartart 選択」
とのことですが、オブジェクトブラウザーを確認すればわかるとおりSmartArtオブジェクトにはSelectメソッドが用意されていないため、

SmartArtオブジェクトのParentであるShapeオブジェクトのSelectメソッドで選択しています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAでSmartArtを選択する

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

検索


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

.