新生活を充実させるための「こだわり」を取材!!

エクセル2000VBAの初心者です。よろしくお願いいたします。

QNo.2268830に対するhana-hana3さんの回答にあった参照リンクに、

>●オートシェイプの円形の図だけを選択するには?
>アクティブシートのオートシェイプで円形の図だけを選択する例です。
>Sub 円形のオートシェイプを全て選択()
> Dim C As Shape
> For Each C In ActiveSheet.Shapes
>  If C.AutoShapeType = msoShapeOval Then C.Select False
> Next C
>End Sub

がありました。これで、円形(msoShapeOval)や四角形(msoShapeRectangle)はうまく選択することが出来たのですが、オートシェイプで描いた線(AddLineで)を選択することが出来ません。
上記プログラムで、msoShapeOvalをLineに変えたり、いろいろしてみたのですが、分かりません。

どなたがご教授いただければ助かります。

教えて!goo グレード

A 回答 (2件)

AutoShapeTypeを使うと 線の場合 msoShapeTypeMixed(-2)を返すようです



msoLineを使いたいなら Typeプロパティを使って判断したほうが良いでしょう

for each c in ActiveSheet.Shapes
  if c.type = msoAutoShape then
    ' 円や四角などの場合
  else
    if c.type = msoLine then
      ' 直線の場合
    end if
  end if
Next

といった具合に処理を振り分けましょう
    • good
    • 0
この回答へのお礼

redfox63さま

早速のご回答ありがとうございます。

処理を振り分けることで、無事解決いたしました。

大変助かりました。
どうもありがとうございました。

お礼日時:2008/04/04 13:50

こんにちは。



直線に限定するならこんな感じで一括選択できます。
ActiveSheet.Lines.Select

この回答への補足

KenKen_SPさま
早速のご回答ありがとうございました。

こんな方法もあるのですね。
確認してみました。

どうもありがとうございました。

補足日時:2008/04/04 13:55
    • good
    • 0
この回答へのお礼

KenKen_SPさま
早速のご回答ありがとうございました。

こんな方法もあるのですね。
確認してみました。

どうもありがとうございました。
(スミマセン、補足欄に投稿してしまいました)

お礼日時:2008/04/04 14:54

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

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

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング