none
マクロを使用したオートシェイプ一括グループ化の挙動について RRS feed

  • 質問

  • 初めて質問いたします。

    Excel 2010を使用し、シート上にあるすべての図形を一括でグループ化するマクロを作成しました。

    Sheet3で図形のグループ化をするときに下記エラーが発生します。

    実行時エラー:1004 アプリケーション定義またはオブジェクトの定義エラーです

    同一ファイル内の別シートでは正常に動作するため、何が原因なのかつかみかねています。

    以下がソースです。

    '-------------------------------------
    Private Sub ObjGrop()
        Dim cnt As Integer
        Dim StCnt as integer
        Dim fcnt As Integer
        Dim shp As Shape
        Dim sr As ShapeRange

            '各シートのオブジェクトを選択
            for StCnt = 1 to 4
                Worksheets(StCnt).Activate
                
                'すでにグループ化されているものを解除
                For Each shp In ActiveSheet.Shapes
                    If shp.Type = msoGroup Then
                        shp.Ungroup
                    End If
                Next shp
                
                '対象ワークシート内のすべての図形を選択
                Worksheets(StCnt).Shapes.SelectAll
                'ShapeRangeをセット
                Set sr = Selection.ShapeRange
                'グループ化
                sr.Group            '<------------------ここで実行時エラー発生
               
                '次シート
                cnt = cnt + 1
            Next
       
    End Sub

    動作環境は以下の通りです。

    OS: Windows 7 professional SP1

    Excel2010 ( VBA 7.0)

    エクセル各シート内の図形の数

    Sheet1 : 1316, Sheet2 : 1123, Sheet3 : 998, Sheet4 : 57

    ご教示宜しくお願い致します。

    2015年7月29日 8:13

すべての返信