• ベストアンサー

エクセルVBAの線オブジェクト一括選択法

エクセル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に変えたり、いろいろしてみたのですが、分かりません。 どなたがご教授いただければ助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

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 といった具合に処理を振り分けましょう

machin555
質問者

お礼

redfox63さま 早速のご回答ありがとうございます。 処理を振り分けることで、無事解決いたしました。 大変助かりました。 どうもありがとうございました。

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

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

machin555
質問者

お礼

KenKen_SPさま 早速のご回答ありがとうございました。 こんな方法もあるのですね。 確認してみました。 どうもありがとうございました。 (スミマセン、補足欄に投稿してしまいました)

machin555
質問者

補足

KenKen_SPさま 早速のご回答ありがとうございました。 こんな方法もあるのですね。 確認してみました。 どうもありがとうございました。

関連するQ&A