|
▼ちろ さん:
とりあえず一例です。
不具合あれば指摘願います。
Sub Test()
Dim myRange As Range '画像を配置するセル範囲
Dim myPic As Variant
Set myRange = ActiveCell.MergeArea 'このセル範囲に収まるように画像を縮小する
myPic = Application.GetOpenFilename("画像ファイル,*.jpg;*.jpeg;*.gif;*.tif")
If VarType(myPic) = vbBoolean Then Exit Sub
With ActiveSheet.Pictures.Insert(myPic)
.ShapeRange.LockAspectRatio = msoTrue
.Cut
ActiveSheet.PasteSpecial Format:="図 (JPEG)", Link:=False, DisplayAsIcon:=False
DoEvents
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
.Width = myRange.Width
If .Height > myRange.Height Then .Height = myRange.Height
.Top = myRange.Top + (myRange.Height - .Height) / 2
.Left = myRange.Left + (myRange.Width - .Width) / 2
End With
End With
End Sub
|
|