|
▼タカミチ さん:
こんにちは。
>はじめまして タカミチと申します
>セル選択範囲内にある図形をグループ化しようと考えています。
>下記のように書くとシート全体の図形を選択してしまいます
>ご伝授ねがいます
>Sub test()
>
> ActiveSheet.Shapes.SelectAll
' ↑これ、全部選択しろっていう命令だもんね!!
> Selection.ShapeRange.Group.Select
>End Sub
以下のようにしてみました。
'=============================================================
Sub main()
Dim sharray()
Dim shp As Shape
Dim rng As Range
Set rng = Selection
idx = 0
For Each shp In ActiveSheet.Shapes
If Not Application.Intersect(rng, ActiveSheet.Range(shp.TopLeftCell, _
shp.BottomRightCell)) Is Nothing Then
ReDim Preserve sharray(idx)
sharray(idx) = shp.Name
idx = idx + 1
End If
Next
If idx > 1 Then
ActiveSheet.Shapes.Range(sharray()).Group
End If
End Sub
グループ化したい図形のセル範囲を選択した後、mainを実行してみてください。
|
|