dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。

以下のような操作をエクセルにおいて行いたいのですが。
(1)エクセルのセルをクリック!
(2)エクスプローラー起動!画像データを選択!
(3)セルに合わせて縦横変倍をかけてデータ(JPGデータ)を貼付!

同様の操作が可能な以下のVBAが公開されていたので使わせて頂こうと考えているのですが、操作方法が分かりません。

VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "Sheet1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True

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

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

作成したエクセルのVBエディタを開く⇒標準モジュールの作成⇒上記VBAをコピペ・・・
正直わかりません。昨日一晩かけて調べたのですがわかりません。

どなたか宜しくお願い致します。

A 回答 (1件)

VBEの画面で、Sheet1、Sheet2等のシートモジュールに



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

以降だけを貼り付けしてみて下さい。


ちなみに、上記を貼り付けしたものをエクスポートして、そのファイルをメモ帳等で開けば、あなたが提示したデータになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!