• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 写真貼り付け マクロ)

Excelマクロでセルをダブルクリックすると画像が選べるようにする方法

このQ&Aのポイント
  • Excelのマクロを使用して、セルをダブルクリックすると画像を選ぶことができ、選んだ画像が貼り付けられる機能を作成したい場合、以下の手順を実行することで実現できます。
  • まず、セルをダブルクリックした時に実行されるマクロを作成します。このマクロは、ダブルクリックしたセルの位置に画像を貼り付けるためのものです。
  • そして、セルの範囲を指定するためには、Worksheet_BeforeDoubleClickイベントの中で、Target変数を使用します。この変数には、ダブルクリックされたセルの情報が格納されています。したがって、Target変数を使用して、セルの範囲を制限することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは 参考コードなので、修正しないとダメですよ。 Select Case Target.Address Case "$B$2:$Q$7" Cancel = True MsgBox "OK" Case Else MsgBox "NO" End Select Cancel = True '===============画像選択 の部分を   Select Case Target.Address     Case "$B$2:$Q$7"       Cancel = True     Case Else       Exit Sub   End Select '===============画像選択 として下さい。

jikkenn
質問者

お礼

申し訳ないです そのまま使ってました。 ありがとうございます

その他の回答 (2)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.3

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(LEFT(RIGHT(REPT("0",20)&A1,16),4),"0,000京")&TEXT(LEFT(RIGHT(REPT("0",20)&A1,12),4),"0,000兆")&TEXT(LEFT(RIGHT(REPT("0",20)&A1,8),4),"0,000億")&TEXT(RIGHT(A1,4),"0,000万"),"0,000京",""),"0,000兆",""),"0,000億",""),"0,000万",""),"0,00","",1),"0,0","",1),"0,","",1)&"円" [例] 1,034,000,000,000 の場合、 1京340兆円 と表示します。

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Select Case Target.Address     Case "$A$1:$D$7", "$X$1:$AA$4"       Cancel = True       MsgBox "OK"     Case Else       MsgBox "NO"   End Select End Sub こんな感じとかです。

jikkenn
質問者

補足

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Select Case Target.Address Case "$B$2:$Q$7" Cancel = True MsgBox "OK" Case Else MsgBox "NO" End Select Cancel = True '===============画像選択 myF = Application.GetOpenFilename _ ("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False) If myF = False Then MsgBox "画像を選択してください(終了)" Exit Sub End If '===============画像の掃除 For Each mySP In ActiveSheet.Shapes myAD1 = mySP.TopLeftCell.MergeArea.Address myAD2 = Target.Address If myAD1 = myAD2 Then mySP.Delete Next '===============画像の貼り付け Set mySP = ActiveSheet.Pictures.Insert(myF) '===============タテヨコの縮尺を保持 myHH = Target.Height / mySP.Height myWW = Target.Width / mySP.Width If myHH > myWW Then mySP.Height = mySP.Height * myWW mySP.Width = Target.Width Else mySP.Height = Target.Height mySP.Width = mySP.Width * myHH End If '===============中央へ調整 myHH2 = (Target.Height / 2) - (mySP.Height / 2) myWW2 = (Target.Width / 2) - (mySP.Width / 2) mySP.Top = Target.Top + myHH2 mySP.Left = Target.Left + myWW2 Set mySP = Nothing End Sub 入れてみたのですが 指定したところではOK 指定以外はNOとでますが どちらも画像が選択できるのですが NO時だけ選択できなくすることできないでしょうか?

関連するQ&A

専門家に質問してみよう