首先你得将发票名称对应好,比如我下面举例是用C列金额为发票的名称。
按ALT+F11打开代码窗,然后将下面代码复制到代码窗里。
注:图片要同文件放在同一文件夹下,如果不在,要修改代码。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range, ML, MT, MW, MH, myShape As Shape
Dim s As String
If Target.Column = 3 Then
On Error Resume Next
Set myShape = Shapes(1) '指定Shape对象
'If myShape.Type = msoAutoShape Then myShape.Delete
Set rng = [d2:d20]
s = ThisWorkbook.Path & "\" & Target.Value & ".jpg"
If Dir(s) <> "" Then
With rng
ML = .Left
MT = .Top
MW = .Width
MH = .Height
End With
If myShape Is Nothing Then
ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
Else
myShape.Select
End If
Selection.ShapeRange.Fill.UserPicture s
Else
myShape.Delete
End If
Target.Select
End If
End Sub
效果图:
添加按钮。