Sub AddPic(ByVal FileFullName As String, ByVal Sht As Worksheet, ByVal TargetCell As Range, ByVal pWidth As Integer, ByVal pHeight As Integer, ByVal PicName As String)
'FileFullName------图片文件的完整路径,如:"c:\obs\obs.gif"
'Sht---------------接收图片的工作表,如:Sheets(1)或Sheets("sheet1")
'TargetCell--------图片的顶点所在的单元格,如:Range("H5")
'pWidth------------图片宽度,如:70
'pHeight-----------图片高度,如:70
'PicName-----------图片在表格中的新名称,如:"Pic1"
On Error Resume Next
Dim Shp As Shape
'首先删除旧图片
Set Shp = Sht.Shapes(PicName)
Shp.Delete
'添加新图片
Set Shp = Sht.Shapes.AddPicture(FileFullName, True, True, TargetCell.Left, TargetCell.Top, pWidth, pHeight)
Shp.Name = PicName '重新命名
End Sub
引用方法:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
AddPic "C:\obs\moon.gif", Sheets(1), Range("C6"), 70, 70, "OBS01"
End Sub
可以根据自己的需要调整引用。