• 締切済み

エクセル2007のマクロ

どなたか教えて下さい。 エクセル2007で、図形とオートシェイプを同時に選択するマクロを教えて下さい。 今まで、エクセル2003では Selection.ShapeRange.Group.Select で、一発で選択できていましたが、エクセル2007に変わって動かなくなりました。 オートシェイプだけは、グループ化は出来たのですが、図形とのグループ化する方法が分かりません。 目的は、エクセルの図形の挿入で読込んだ図形の上に、エクセルのカメラで読込んだリンク図形(複数)を一緒にグループ化を行い、ペイント等でビットマップファイルを作成したいのです。 グループ化できた後は、手動でペイントに貼り付け、保存するつもりです。 よろしくお願いします。

みんなの回答

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

確かにExcel2007だけ出来ないみたいですね。(Excel2010ではできる) 「図のリンク貼り付け」で作成されたものだと出来ないみたいなので、 1)「図の貼り付け」で対応できるならそれで対応する 2)「図のリンク貼り付け」で作成されたものを選択し数式バーの「=A1」とかを消して、保存して閉じて、再度開くと「図の貼り付け」の状態になるので、出来る 3)「図のリンク貼り付け」で作成されたものをすべて、コピー→形式を選択して貼り付け→PNGなどで貼り付け直して、グループ化する 4)グループ化をあきらめて、グループ化したかったセル範囲を範囲選択→コピーし、「図の貼り付け」で対応する

xychan
質問者

お礼

ありがとうございます。 エクセル2007では出来ないのですね あきらめて、4)で行います。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

>Selection.ShapeRange.Group.Select は、選択するマクロではありません。既に選択された図をグループ化するマクロです。 これはExcel2003でも同じです。 今までどの様な選択を行っていたのでしょうか? シート上のすべての画像も含めた図を選択したいのであれば、 ActiveSheet.DrawingObjects.Select で出来ますし、 それぞれ名前を指定して行うのであれば、 ActiveSheet.Shapes.Range(Array("図 1", "図形 1")).Select とすれば出来ます。

xychan
質問者

補足

kyboさん 早速の回答ありがとうございます。 マクロは If ActiveSheet.Shapes.Count > 1 Then '図形が1つならグループ化できないので以下実行しない ActiveSheet.Shapes.SelectAll     '図形を選択(これで図形もオートシェイプも選択でき                      'ていました(エクセル2003で) Selection.ShapeRange.Group.Select  'これで一括してグループ化ができました End If 回答いただいた ActiveSheet.DrawingObjects.Select で選択したあと Selection.ShapeRange.Group.Select   でグループ化を試みましたが オートシェイプはグループ化できましたが、図形をグループ化できませんでした。 グループ化するマクロが間違っているのでしょうか? 申し訳ありませんが、再度教えて下さい。よろしくお願いします。

関連するQ&A