[[20080318145203]] 『マクロ実行ボタン以外のオブジェクトを消去』(まるぴ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ実行ボタン以外のオブジェクトを消去』(まるぴ)
 いつも参考にさせていただいております。
 シート上に実行ボタンを配置しており、後から写真の挿入やオートシェイプでの描画などを行います。
 実行ボタンを押すことで、実行ボタン以外のオブジェクトを消去したいのですが、

 ActiveSheet.DrawingObjects.Delete

 では、ボタンも消えてしまい、

 OBKAZU = ActiveSheet.Shapes.Count
 For KESU = 1 To OBKAZU - 1
 ActiveSheet.Shapes(2).Select
 Selection.Delete
 Next

 のようにすると、うまくいったりいかなかったりで不安定です。
 よい方法がありましたらご教授下さい。

 [エクセルのバージョン]Excel2003
 [OSのバージョン]WindowsXP

 >シート上に実行ボタンを配置しており
 が、コマンドバー「フォーム」にあるボタンだとすると・・・、

 Sub del_図形()
    Dim obj As Object
    Dim nm As String
    nm = Application.Caller
    nm = ActiveSheet.DrawingObjects(nm).Name
    For Each obj In ActiveSheet.DrawingObjects
       If obj.Name <> nm Then
          obj.Delete
          End If
       Next
 End Sub

 こんなコードでは、いかがですか?
 この場合、ShapeオブジェクトでDeleteはしないことですよ!!
 ichinose

 ichinose様

 先日に引き続き、今回も有難うございました。
 お蔭様で思っていたものが出来ました。

 まるぴ

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.