• ベストアンサー

図のグループ化をマクロに組み込むには

お世話になります。 Excel2007を使っています。 QNo.4467047の続きです。 A1~B4の8つのセルに図が複数(1~3)入っています。 一つのセル内の図、複数のセル内の図をグループ化、グループ解除をマクロでしたいのですが、マクロの記録からでは生成してくれません よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

TopLeftCellを調べてグループ化します。 こんな感じになります。 Sub test図形グループ化()   Dim shp As shape   Dim sg() As Variant   Dim i As Integer   For Each shp In ActiveSheet.Shapes     If shp.TopLeftCell.Address = "$A$1" Then       ReDim Preserve sg(i) As Variant       sg(i) = shp.Name       i = i + 1     End If   Next shp   ActiveSheet.Shapes.Range(sg).Group End Sub 写真かどうかは、Typeプロパティで取得できます。 If shp.Type = msoPicture Then  '処理 End If

shinkami
質問者

お礼

度重なる質問にお付き合い頂き感謝します。 これで解決しそうなので締め切らせていただきます。 最後の4行は今回必要ないのですが、今後利用させていただくことがありそうです。 大変参考になりました 本当に有難うございました。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

QNo.4467047 mt2008さん回答のコードを使わせていただくと グループ化 ActiveSheet.Shapes.Range(Array("Picture 1", "Picture 2", "Picture 3", "Picture 4")).Group グループ化解除 (Shapes(1)が、グループ化されていないとエラーになります。) ActiveSheet.Shapes(1).Ungroup

shinkami
質問者

補足

再度のご回答ありがとうございます。 今一度宜しくお願いします。 ピクチャー名が任意(セル内全て)の対処法はありますか

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

グループ化は Group 解除は UnGroup です。

shinkami
質問者

補足

ご回答ありがとうございます。 任意の図を名前を付けてグループ化するには具体的にどのように記述しますか? 「組.Group = ShapeRange("a1:a4")」ではダメですね この仕組みは、A1~D2の8つのセルに写真、テキストボックス、ワードアート、図形、クリップアートを配置し B1,C1の下辺を切り、A列、C列の右辺を谷折り、B列の右辺とA1、D1の下辺を山折りにして8ページの小冊子にしたいのです。 料理レシピ、旅行計画等に利用出来ると考えています。 ページそろえのため図を配置後 位置変更、回転が必要です。 この部分をマクロ化したいのです。

関連するQ&A

専門家に質問してみよう