ワークシートのユーザー入力パラメータに基づいて、ボタンに関連付けられたマクロが動的な図形を描画するExcelワークシートがあります。フォームコントロール以外のすべての図形を削除する
シートをクリーニングするための新しいマクロを作成しようとしています。つまり、ワークシート内のすべての図形を削除しようとしています。
私は以下のコードを使用してみましたが、実際にはすべての図形が削除されていましたが、ボタンフォームコントロールも削除されました。ワークシートの形状(矢印、テキストボックス、楕円など)を取り除くだけの簡単な方法はありますか?本当にありがとう!!!
Sub DeleteAllShapes()
Dim Shp As Shape
For Each Shp In ActiveSheet.Shapes
If Shp.Type = msoAutoShape Or Shp.Type = msoTextBox Then Shp.Delete
Next Shp
End Sub
代わりにあなたの周りの他の方法で作業して削除しないようなタイプを指定することができますのみ使用することができオートシェイプやテキストボックスを削除するには
Sub DeleteAllShapes()
Dim Shp As Shape
For Each Shp In ActiveSheet.Shapes
Shp.Delete
Next Shp
End Sub
残念ながら、私はあなたの最初のコードを実行すると、フォームのコントロールが削除されます。 2. 2番目の方がうまくいきます:フォームを削除し、フォームコントロールだけを残します。ただし、今回の「テキストボックス」は削除されません。私はほとんどのトリックを行う1つのライナーコードがあったと確信していますが、私はそれを覚えていないことができます。 – marillion
どのようなタイプのフォームコントロールがありますか?私はActiveXコントロールのチェックボックスとフォームコントロールボタンでそれをテストしたところ(2番目のもの)、正常に動作します。 –
申し訳ありませんが、私はあなたの秒を見た後、私のコメントを編集したばかりです。あなたが言ったように、2番目のコードはフォームコントロールには触れません。これは完璧です。ただし、テキストボックスは何らかの理由で削除されません。 – marillion