※ ChatGPTを利用し、要約された質問です(原文:VBAの操作方法について教えてください(初心者))
VBAの操作方法について教えてください(初心者)
2012/10/03 09:12
このQ&Aのポイント
VBAを使用してエクセルのセルをクリックして画像データを選択し、セルに合わせて縦横変倍をかけてデータを貼り付ける方法を教えてください。
エクセルで特定のセルをクリックして画像データを選択し、データをセルに合わせて縦横変倍して貼り付ける方法を教えてください。
初心者向けにVBAを使用してエクセルの操作方法を教えてください。セルのクリックから画像データの選択、縦横変倍してデータを貼り付ける方法が知りたいです。
いつもお世話になっております。
以下のような操作をエクセルにおいて行いたいのですが。
(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をコピペ・・・
正直わかりません。昨日一晩かけて調べたのですがわかりません。
どなたか宜しくお願い致します。
質問の原文を閉じる
質問の原文を表示する