- ベストアンサー
エクセル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に変えたり、いろいろしてみたのですが、分かりません。 どなたがご教授いただければ助かります。
- みんなの回答 (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 といった具合に処理を振り分けましょう
その他の回答 (1)
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。 直線に限定するならこんな感じで一括選択できます。 ActiveSheet.Lines.Select
お礼
KenKen_SPさま 早速のご回答ありがとうございました。 こんな方法もあるのですね。 確認してみました。 どうもありがとうございました。 (スミマセン、補足欄に投稿してしまいました)
補足
KenKen_SPさま 早速のご回答ありがとうございました。 こんな方法もあるのですね。 確認してみました。 どうもありがとうございました。
お礼
redfox63さま 早速のご回答ありがとうございます。 処理を振り分けることで、無事解決いたしました。 大変助かりました。 どうもありがとうございました。