家具设计师培训班实战课程

跟阿忠学家具设计,月薪8000只是起步

当前位置:
用VBA代码来进行图片更换而无需插入这些图片

在Excel中通过改变单元格的值来更换图片,通常需要把图片插入到工作簿中,再用公式来更换。该方法在图片较多时有些不便,这时可用VBA代码来进行图片更换,而无需插入这些图片。步骤如下:

1、将所有图片放在一个文件夹中,在下面的示例代码中,图片所在文件夹名称为“图片文件夹”,并将该文件夹与工作簿放置在一起。

2.在工作表中插入一个图片,设置其位置和大小,然后选择该图片,在Excel界面右上角的名称框中输入一个名称后按回车键。在下面的示例代码中,将图片名称设置为“图片 1”。

3.在工作表中选择某个单元格,如下面的示例代码中的“J4”单元格。用设置数据有效性的方法制作一个下拉列表,这样就可以通过下拉列表选择来某个图片名称。

4、按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下面的代码。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$J$4" Then

Dim Pic As Object, PicPathAndName As String, PicFolder As String

Dim PicT As Integer, PicL As Integer, PicH As Integer, PicW As Integer

\'图片文件夹名称

PicFolder = "图片文件夹"

\'所选图片路径

PicPathAndName = ThisWorkbook.Path & "\\" & PicFolder & "\\" & Range("J4") & ".jpg"

Set Pic = ActiveSheet.Shapes("图片 1")

\'原图片的位置和大小

With Pic

PicT = .Top

PicL = .Left

PicH = .Height

PicW = .Width

End With

\'删除原图片

Pic.Delete

\'插入所选图片

Set Pic = ActiveSheet.Shapes.AddPicture(Filename:=PicPathAndName, LinkToFile:=msoFalse, _

SaveWithDocument:=msoTrue, Left:=PicL, Top:=PicT, Width:=PicW, Height:=PicH)

\'设置图片名称

Pic.Name = "图片 1"

End If

Set Pic = Nothing

End Sub

这样,当在J4单元格中选择不同的图片名称后,工作表中的图片会自动调用图片文件夹中图片进行更换。

作者:Excel自学网 发布时间:2020.01.05

家具设计课堂是国内做家具设计在线教育的线上培训机构,初入家具设计行业的准家具设计师建议在此技术提升。跟阿忠学家具设计,月薪8000只是起步!您想找一份高薪设计类的研发工作,或许家具设计课堂能帮您实现您的初衷愿景。报名学习QQ:415284424。

系统化培训家具结构设计师从家具设计课堂开始

Excel自学网提供大量优秀的Excel学习资源Excel自学网致力于建设成一个公益型Excel在线自学网站,助您轻松学习Excel