Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


830 / 13645 ツリー ←次へ | 前へ→

【78083】複数図を選択して、グループ化するマクロの作成 urupis 16/4/1(金) 17:50 質問[未読]
【78087】Re:複数図を選択して、グループ化するマク... マナ 16/4/1(金) 19:58 発言[未読]

【78083】複数図を選択して、グループ化するマクロ...
質問  urupis  - 16/4/1(金) 17:50 -

引用なし
パスワード
   こんにちは。初めまして。
urupisと申します。

複数図を選択して、グループ化するマクロを作成の困っているので
ご指南いただきたいと思い投稿いたしました。

■実装したい内容
マニュアル作成にあたり、
スクリーンキャプチャした図に対して赤枠の図などで囲ったりします。
選択したすべての図の上に図形などが存在した場合は、
それを自動的にグループ化をしたいです。

以下のように図の上に図が存在するかを特定することが
私の調べた範囲ではできなかったので、
選択範囲を指定して、その枠内に図形がある場合は名前を取得するところまではできたのですが、
このあとどうグループ化をしていけばわかりません。
実装したい内容が実現できるマクロを教えていただけますでしょうか。
ご指南のほどよろしくお願いします。

Sub 選択されているセル範囲内の図形をグループ化する()

 Dim shp As Shape
 Dim rng_shp As Range
  Dim shapeName() As String
  Dim i As Long

  If TypeName(Selection) <> "Range" Then Exit Sub
  i = 0
  For Each shp In ActiveSheet.Shapes
 
     ''図形の配置されているセル範囲をオブジェクト変数にセット
    Set rng_shp = Range(shp.TopLeftCell, shp.BottomRightCell)
     ''図形の配置されているセル範囲と
    ''選択されているセル範囲が重なっているときに図形の名前を取得
    If Not (Intersect(rng_shp, Selection) Is Nothing) Then
      ReDim Preserve shapeName(i)
      shapeName(i) = shp.Name
      i = i + 1
    End If
  Next

  'Selection.ShapeRange.Group.Select
End Sub

【78087】Re:複数図を選択して、グループ化するマ...
発言  マナ  - 16/4/1(金) 19:58 -

引用なし
パスワード
   ▼urupis さん:

activesheet.shapes.range(shapename).select

これで、どうなりますか?

830 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free