GroupItems
TopLeftCell
とBottomRightCell
の項目はバグでグループ全体として報告されているようです。
コントラストプロパティTop
およびLeft
は、GroupItems
コレクションの項目について正しくレポートします。
回避策は、この検討したよう:ここ
Sub Demo()
Dim ws As Worksheet
Dim grp As Shape
Dim shp As Shape, s As Shape
Set ws = ActiveSheet
Set grp = ws.Shapes("Group 1") '<~~ update to suit
With grp
For Each shp In .GroupItems
' Create a temporary duplicate shape
Set s = ws.Shapes.AddShape(msoShapeRectangle, shp.Left, shp.Top, shp.Width, shp.Height)
' Report the grouped shape to contrast the temporary shape result below
Debug.Print shp.TopLeftCell.Row, shp.BottomRightCell.Row
' Report the duplicate shape to see correct location
Debug.Print s.TopLeftCell.Row, s.BottomRightCell.Row
' Delete temporary shape
s.Delete
Next
End With
End Sub
私はグループ外のGroupItems
コレクション内の各形状の複製を作成し、そのセルの位置を報告します。その後、複製を削除します。
は私が実証する四角形を使用しましたが、他の形状のタイプが似ている必要があり
はわからないが、私はそれがだと思います可能であれば、シェイプのグループを解除し、後ろのものを取得し、シェイプを再グループ化する必要があります。 –
論理的に、あなたが求めるものは不可能ではありません。 Excelのハンドブックによれば、グループ分けは図形を「単一のオブジェクトとして扱う」ようにします。したがって、グループ化された図形は、ワークシートとの個々の関係を失ったはずです。なぜ彼らはグループのように行動することを確認した後に個別に移動したいのですか? – Variatus
@Variatus IMHO OPが求めているものは可能でしょうか? Excelは、グループ内の個々の図形にアクセスするための 'GroupItems'コレクションを提供します。 'GroupItems'プロパティの各項目に対して、' Top'と 'Left'が正しく報告され、個々のグループ項目を移動するように修正することができます。 'GroupItems'、' TopLeftCell'、 'BottomRightCell'の項目がバグでグループ全体を報告しているようです。 –