プロが教える店舗&オフィスのセキュリティ対策術

しょうもない質問ですが、不思議なので教えてください。
エクセル2000です。

ワークシート上に配置したオートシェープのTypeNameを取得してみると、線(Line)、楕円(Oval)以外は四角形も八角形も星型もみんなRectangleでした。

ところが、

ActiveSheet.Rectangles.Select

としてみても、選択されるのは四角形と丸四角形のみです。
もちろん、Lines.Select や、Ovals.Select で選択できるのは、線 と 楕円 だけです。

八角形も星型もみんなTypeNameはRectangleなのに四角形と丸四角形以外のRectangleはどうして選択できないのでしょうか?

Sub testRectangle()
For Each o In ActiveSheet.DrawingObjects
If TypeName(o) = "Rectangle" Then o.Select (False)
Next
End Sub

とやれば、Rectangleだけ選択は出来ますが、ループしないで一括で選択はできないのでしょうか?

A 回答 (1件)

Shapesオブジェクトの利用はダメなのでしょうか?



Sub testRectangle()
    ActiveSheet.Shapes.SelectAll
End Sub
ですべてのオートシェイプが一括選択できるんじゃないでしょうか。

Sub testRectangle_5pointstar()

Dim o As Shape

For Each o In ActiveSheet.Shapes
If o.AutoShapeType = 92 Then o.Select (False)
Next
End Sub
で5点の星型のみ選択ですが、これはループしないと出来ないような気がします。オブジェクトブラウザで"msoShape*"を検索したら92以外の図形の定数がわかります。
    • good
    • 0
この回答へのお礼

さっそくありがとうございます。
ActiveSheet.Shapes.SelectAllでは、オートシェープ(四角形や三角形、だ円、ブロック矢印、吹き出し、フローチャートなど)以外にも、画像やフォームで挿入したDropDownsやCheckBoxesやButtonsなど、貼り付けたものがみな選択されてしまうので使えないのです。

msoShapeの図形の定数の調べ方、ありがとうございました。

お礼日時:2007/04/05 13:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています