アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも皆様には大変お世話になっております。
今日の質問は・・・
シート全部のLineを一回で消す方法をお尋ねしたいです。

基本的には
ActiveSheet.Shapes("Line 1").Select
Selection.Delete

に、なるかと思いますが、
Lineの後の数字の部分が何番になるか分かりません。
と言うか、いっぱいLineがあります。
そういう場合のLineの消し方とかはあるのでしょうか?

皆様宜しくお願い致します。

A 回答 (3件)

コレでよろしいかと思います。


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)がずれていく為、このようにしていきます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/11 17:00

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
-----------------
    • good
    • 0

こんにちは。



↓でどうでしょうか?
-------------------------------------
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
--------------------------------------
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/11 17:02

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