[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定の図形だけ残してシートの内容を消したいのですができますか』(ブルー☆ギラヴァンツ)
いつもお世話になっております
マクロで特定の図形だけ残してシートの内容を消したいのですができますか
特定の図形はマクロのボタンになります
おねがいします
< 使用 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
ほんとにええんか・・・? マクロを実行したオートシェイプ以外全部消して、セル全体をクリア 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(月) 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
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.