Function intjpg(ByVal 工作表 As String, ByVal 文件名 As String, ByVal 插图单元格 As Range)
Dim PATH$, 工作表文件名$, shp As Worksheets
n1 = 插图单元格.Row
n2 = 插图单元格.Column
‘-----------------------------------------------------------------------
'以下代码为什么加上了,函数会显示错误,取掉这断代码图片就能正常显示?
'我想在插入图片前先检测是否当前单元格存在图片,如果存在就删除在插入新的图片
For Each shp In Worksheets(工作表文件名).Shapes
If shp.Top = Cells(n1, n2).Top Then
shp.Delete
Exit For
End If
Next '删除以存在的图片
'-------------------------------------------------------------------
PATH = ThisWorkbook.PATH & "\" & 文件名 & ".jpg" '图片路径
If 工作表 = "*!" Then '工作表名对比
工作表文件名 = Worksheets(Left(工作表, Len(工作表) - 1)).Name
Else
工作表文件名 = Worksheets(工作表).Name
End If
'----------------------------------------------------------------------
With 插图单元格(1, 1) '简化代码
Worksheets(工作表文件名).Shapes.AddPicture PATH, 1, 1, .Left, _
.Top, _
.Width, _
.Height - 10
End With
End Function
Dim PATH$, 工作表文件名$, shp As Worksheets
n1 = 插图单元格.Row
n2 = 插图单元格.Column
‘-----------------------------------------------------------------------
'以下代码为什么加上了,函数会显示错误,取掉这断代码图片就能正常显示?
'我想在插入图片前先检测是否当前单元格存在图片,如果存在就删除在插入新的图片
For Each shp In Worksheets(工作表文件名).Shapes
If shp.Top = Cells(n1, n2).Top Then
shp.Delete
Exit For
End If
Next '删除以存在的图片
'-------------------------------------------------------------------
PATH = ThisWorkbook.PATH & "\" & 文件名 & ".jpg" '图片路径
If 工作表 = "*!" Then '工作表名对比
工作表文件名 = Worksheets(Left(工作表, Len(工作表) - 1)).Name
Else
工作表文件名 = Worksheets(工作表).Name
End If
'----------------------------------------------------------------------
With 插图单元格(1, 1) '简化代码
Worksheets(工作表文件名).Shapes.AddPicture PATH, 1, 1, .Left, _
.Top, _
.Width, _
.Height - 10
End With
End Function