[[20230123172642]] 『特定の図形だけ残してシートの内容を消したいので』(ブルー☆ギラヴァンツ) ページの最後に飛ぶ

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

 

『特定の図形だけ残してシートの内容を消したいのですができますか』(ブルー☆ギラヴァンツ)

いつもお世話になっております
マクロで特定の図形だけ残してシートの内容を消したいのですができますか
特定の図形はマクロのボタンになります
おねがいします

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 >特定の図形はマクロのボタンになります 

 オートシェイプにもマクロを紐づけることができるし、
 ActiveXコントロールもある。

 残すのは具体的に何でしょう?

(MK) 2023/01/23(月) 17:33:40


 あと、シートの内容というのもあいまいです。 

 書式やコメントなどはどうします?
(MK) 2023/01/23(月) 17:35:31

 > ActiveXコントロールもある。

 ↓へ訂正です。

 フォームコントロールとActiveXコントロールもある。
(MK) 2023/01/23(月) 17:40:47

早速ありがとうございます
残すのはオートシェイブで
書式やコメントも消したいです
(ブルー☆ギラヴァンツ) 2023/01/23(月) 17:46:22

 ほんとにええんか・・・?
 マクロを実行したオートシェイプ以外全部消して、セル全体をクリア
    Sub test()
        Dim sh As Shape
        For Each sh In Shapes
            If sh.Name <> Shapes(Application.Caller).Name Then
                sh.Delete
            End If
        Next sh
        Cells.Clear
    End Sub

(稲葉) 2023/01/23(月) 18:46:27


ありがとうございます実行しましたが「オブジェクトが必要です」と出るのですが・・・
(ブルー☆ギラヴァンツ) 2023/01/23(月) 19:40:47

 マクロの実行はオートシェイプでいいんですよね?
 フォームじゃないんですよね?
 オートシェイプに提示したマクロ割り当ててますよね?
(稲葉) 2023/01/23(月) 20:27:03

はい
オートシェイプは複数あります

(ブルー☆ギラヴァンツ) 2023/01/23(月) 20:30:53


 Sub Macro1()
    Worksheets("Sheet1").Cells.Clear
 End Sub

(asobi) 2023/01/23(月) 20:49:56


 先にshapeを削除すると、
 ・コメントの赤いインジケータが残ったり、
 ・入力規則に想定していない事象が発生します。
 先に、Cells.Clearを実行したほうがいいみたいですね。

 マクロを登録した図形が複数ある場合にも対応しようとすると以下のような感じですか。

 Sub test()
     Dim shp As Shape
     Cells.Clear
     For Each shp In ActiveSheet.Shapes
         Select Case shp.Type
             Case msoAutoShape       'マクロ登録のないオートシェイプ
                 If shp.OnAction = "" Then shp.Delete
             Case Else
                 MsgBox "想定外のshapeです " & shp.Name
                 shp.Delete
         End Select
     Next
 End Sub

 画像とか、その他のshapeが色々あると思います。
 すべてを確認したわけではないので、不測の事態になることがあるかもしれません。
  
(γ) 2023/01/23(月) 21:07:26

できましたありがとうございます
(ブルー☆ギラヴァンツ) 2023/01/23(月) 22:40:43

コメント返信:

[ 一覧(最新更新順) ]


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