- ベストアンサー
Excelマクロでセルをダブルクリックすると画像が選べるようにする方法
- Excelのマクロを使用して、セルをダブルクリックすると画像を選ぶことができ、選んだ画像が貼り付けられる機能を作成したい場合、以下の手順を実行することで実現できます。
- まず、セルをダブルクリックした時に実行されるマクロを作成します。このマクロは、ダブルクリックしたセルの位置に画像を貼り付けるためのものです。
- そして、セルの範囲を指定するためには、Worksheet_BeforeDoubleClickイベントの中で、Target変数を使用します。この変数には、ダブルクリックされたセルの情報が格納されています。したがって、Target変数を使用して、セルの範囲を制限することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 参考コードなので、修正しないとダメですよ。 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 '===============画像選択 として下さい。
その他の回答 (2)
- ushi2015
- ベストアンサー率51% (241/468)
=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)
こんにちは 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 こんな感じとかです。
補足
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時だけ選択できなくすることできないでしょうか?
お礼
申し訳ないです そのまま使ってました。 ありがとうございます