ここから本文です

エクセル VBA ダブルクリックで 表示/非表示を繰り返したい B7セルに、貼り付けて...

osh********さん

2018/7/1914:25:09

エクセル VBA ダブルクリックで 表示/非表示を繰り返したい
B7セルに、貼り付けてある印鑑スタンプの画像名(Picture 1)を
B6セルをダブルクリックすると非表示にし、

さらにもう一度 B6セルをダブルクリックするとB7セルの真ん中に表示させたいのですが

申し訳ありません・・教えて頂けますでしょうか・・・・

閲覧数:
68
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2018/7/1915:10:05

こんな感じ?


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pic As Object, t As Double, l As Double
If Target.Address <> "$B$6" Then Exit Sub
Set pic = ActiveSheet.Shapes("Picture 1")
l = Range("B7").Left + (Range("B7").Width - pic.Width) / 2
t = Range("B7").Top + (Range("B7").Height - pic.Height) / 2
pic.Visible = Not pic.Visible
pic.Top = t
pic.Left = l
Cancel = True
End Sub

質問した人からのコメント

2018/7/19 15:34:39

ありがとうございます。
とても便利です。
早速、使ってます・・・

もうひとつの回答の方もありがとうございます。
場所が決まっていない場合 こちらの教えて頂いたコードが
活躍しそうです。
とても助かりました・・・

ベストアンサー以外の回答

1〜1件/1件中

kky********さん

2018/7/1914:33:17

「Picture 1」を最初にB7の中央に配置しておいて下さい。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B6")) Is Nothing Then Exit Sub
Cancel = True
If ActiveSheet.Shapes("Picture 1").Visible = True Then
ActiveSheet.Shapes("Picture 1").Visible = False
Else
ActiveSheet.Shapes("Picture 1").Visible = True
End If
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる