• ベストアンサー

エクセルVBA シート全部のLineを消す方法

いつも皆様には大変お世話になっております。 今日の質問は・・・ シート全部のLineを一回で消す方法をお尋ねしたいです。 基本的には ActiveSheet.Shapes("Line 1").Select Selection.Delete に、なるかと思いますが、 Lineの後の数字の部分が何番になるか分かりません。 と言うか、いっぱいLineがあります。 そういう場合のLineの消し方とかはあるのでしょうか? 皆様宜しくお願い致します。

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

  • ベストアンサー
  • jazzkazz
  • ベストアンサー率37% (114/308)
回答No.1

コレでよろしいかと思います。 wkCnt = ActiveSheet.Shapes.Count For i = wkCnt To 1 Step -1 '線だったら If ActiveSheet.Shapes(i).Type = 9 Then ActiveSheet.Shapes(i).Delete End If Next シェイプを最大から処理している理由は削除した際にシェイプの(i)がずれていく為、このようにしていきます。

nanny
質問者

お礼

お返事ありがとうございます 上記でばっちり動きました^^ またよろしくお願い致します^^

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

No.2です。 スミマセン、 余計なもの↓つけました。 With ActiveSheet   End With ↓だけでいいです。 ----------------- Sub test() Dim Sh As Shape For Each Sh In ActiveSheet.Shapes If Sh.Type = msoLine Then Sh.Delete End If Next Sh End Sub -----------------

すると、全ての回答が全文表示されます。
回答No.2

こんにちは。 ↓でどうでしょうか? ------------------------------------- Sub test() Dim Sh As Shape With ActiveSheet For Each Sh In ActiveSheet.Shapes If Sh.Type = msoLine Then Sh.Delete End If Next Sh End With End Sub --------------------------------------

nanny
質問者

お礼

お返事ありがとうございました 問題解決いたしました^^ またよろしくお願い致します (サーバーに接続できません状態が続きお返事遅くなり申し訳ありません;;

すると、全ての回答が全文表示されます。

関連するQ&A