[[20221207125057]] 『クリックして選択された図形を消す』(ぎんこう) ページの最後に飛ぶ

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

 

『クリックして選択された図形を消す』(ぎんこう)

初心者です。イベントも始めてトライしています。

シート上に複数のオートシェイプがあります。クリックして選択されたものがさっと消えるようにしたいのですが,どのようにすればいいのでしょうか?Sheet1に以下のようなものを書いて,worksheet, selectionchangeになっている必要があるとは思うのですが,わかりませんので,教えていただけますか。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Selection.Delete

End Sub

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


オートシェイプはイベント化出来ないので、
クリックしたら・・・といったイベントは不可能かと思われます。

選択してどこかのボタンで・・・とかなら普通にデリートでいいですし。

ちなみにWorksheetのイベントはセルやシートを対象としているので、
オートシェイプの選択はイベントに入っていないはずです。
(ngk) 2022/12/07(水) 13:18:24


自滅コードを登録しておけば、消すだけなら
消えると思いますよ。。。^^;
後な〜にもなくなりますが。。。( ̄▽ ̄;)

(隠居Z) 2022/12/07(水) 14:12:12


 >自滅コードを登録しておけば
 なるほど、こうですね

    Sub Set_KillMe()           ' これを実行すると、シェープをクリックすると消えるようになる
      Dim shp As Shape
      For Each shp In ActiveSheet.Shapes
         shp.OnAction = "KillMe"
      Next
    End Sub

    Sub UnSet_KillMe()         '  解除する
      Dim shp As Shape
      For Each shp In ActiveSheet.Shapes
         shp.OnAction = ""
      Next
    End Sub

    Sub KillMe()
      ActiveSheet.Shapes(Application.Caller).Delete
    End Sub
(´・ω・`) 2022/12/07(水) 14:30:13

ngkさん、隠居Zさん、´・ω・`さん

お忙しいところ、教えてくださり本当にありがとうございます。オートシェイプはイベント化できないのですね。

隠居Zさん、´・ω・`さん、裏テク?があるようですが、ごめんなさい、私の知識不足ゆえ、うまく動きません。Module1に貼り付けているだけです(>_<) どうすれば動かすことができるのでしょうか?
(ぎんこう) 2022/12/07(水) 15:21:06


え〜と、実行したい、プロシジャ、[(´・ω・`)さんのSet_KillMe]
コードの中に、カーソルを移動、後、F5キーを、押すとか。。。

リボン→開発→マクロ

表示されるメニューから
Set_KillMe
を選択、実行でも、

運用面では、ワークブックオープンからSet_KillMeを呼び出しておけば
その時点で存在する、図等々は消えると思いますよ。^^;
説明代行でした。。。m(__)m
(隠居Z) 2022/12/07(水) 16:17:20


再度おたずねさせてください。

オートシェイプではなく、PNGを画像としてSheet1上にいくつか貼り付けた場合はイベント化(ダブルクリックで削除)はできるのでしょうか?基本的な質問で申し訳ございません。
(ぎんこう) 2022/12/07(水) 17:57:05


 こんなイメージ?

 ActiveSheet.DrawingObjects.Delete

(あみな) 2022/12/07(水) 18:11:05


あみなさん

ありがとうございます。以下のような感じでしょうか。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

  ActiveSheet.DrawingObjects.Delete

End Sub

これをSheet1のモジュールに貼り付けて、ExcelのSheet1にもどり、PNG画像をダブルクリックしたのですが、選択されるだけで、画像は削除されませんでした。

きっと基本的なところができていないのだろうなと思うのですが、教えていただけますか。
(ぎんこう) 2022/12/07(水) 18:33:09


 >PNG画像をダブルクリックしたのですが

 対象のシートをダブルクリックすると削除されますよ。
 シートのイベントだから...これではダメなのかな?^^;

(あみな) 2022/12/07(水) 18:39:43


 シートのイベントですよ。
(MK) 2022/12/07(水) 18:57:07

 すみません。あみなさんがご指摘済でした。
(MK) 2022/12/07(水) 18:58:02

あみなさん、MKさん

このあたり、本当にわかっていないので、ごめんなさい。ご迷惑をおかけします。

複数のPNG画像がSheet1上にあって、消したい画像をダブルクリックすると削除されることを考えているのです。
(ぎんこう) 2022/12/07(水) 19:01:31


同じことを書きますが、
画像をダブルクリックして動作するイベントプロシージャはありません。
そういう設計思想でできている製品なので、あなたの要望をそのまま実現することはできません。
どうしても納得いかないなら、マイクロソフト社を訴えてくださいww。
画像を選択してDeleteキーを押せばよいだけじゃないですか?
少し柔軟に考えましょう。
また、複数の画像を同時に選択するのであれば、「オブジェクトの選択」を使ってください。
(助言) 2022/12/07(水) 21:03:05

助言さん

オートシェイプだけでなく、通常の画像もだめなのですね。私はオートシェイプだけができないと勘違いしていました。

ありがとうございました。
(ぎんこう) 2022/12/07(水) 21:20:12


コメント返信:

[ 一覧(最新更新順) ]


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