Excel表格自动插入图片

 时间:2024-10-12 21:02:11

1、打开Excel表格后,按下键盘上面的【Alt+F11】组合键打开VBA编辑器。

Excel表格自动插入图片

2、在VBA编辑器的菜单栏上面点击【插入】、【模块】。

Excel表格自动插入图片

3、在模块的代码框里边输入以下程序代码,然后按下【F5】键运行程序。Sub PicturesInsert()Dim i, arr, str荑樊综鲶, typ, shpOn Error Resume Next '忽略运行中可能出现的错误Application.ScreenUpdating = False '关闭工作表更新,提高运行速度Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义Sheet1工作表arr = Array(".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tif") '图片格式集合For Each shp In mysheet1.ShapesIf shp.Left > mysheet1.Columns("D").Left And shp.Left < mysheet1.Columns("F").Left Then shp.Delete '如果是E列单元格里边的图片,则删除End IfNextFor i = 2 To 1000 '从第2行到1000行If mysheet1.Cells(i, 1) <> "" Then '如果A列对应的单元格不为空白,则执行 For Each typ In arr '执行图片格式组里面的每一个尝试 str = "D:\ABCD\" & mysheet1.Cells(i, 1).Value & typ '图片路径 If Dir(str) <> "" Then '如果图片存在,则执行 mysheet1.Pictures.Insert(str).Select '插入图片并选择 With Selection.ShapeRange .LockAspectRatio = msoFalse '不锁定图片的比例 .Height = mysheet1.Cells(i, 5).Height - 4 '图片的高度设为单元格高度-4 .Width = mysheet1.Cells(i, 5).Width - 4 '图片的宽度设为单元格高度-4 .Top = mysheet1.Cells(i, 5).Top + 2 '图片的位置为E列对应单元格到顶部的距离+2 .Left = mysheet1.Cells(i, 5).Left + 2 '图片的位置为E列对应单元格到左侧的距离+2 End With mysheet1.Cells(i, 5) = "" '清空E列对应单元格的内容 Exit For '导入图片后,退出For循环 Else mysheet1.Cells(i, 5) = "图片不存在" '否则将显示“图片不存在” End If NextEnd IfNextmysheet1.Cells(i + 1, 5).SelectApplication.ScreenUpdating = True '恢复更新显示End Sub

Excel表格自动插入图片

4、回到Sheet1工作表界面,将会发现E列对应的单元格已经自动插入相应的图片。

Excel表格自动插入图片

5、VBA程序、思路解读:(1)自动插入图片时,原先位置的图片应当删除,否则,每次侑喏嵋甲插入图片都会把原来的图片覆盖,这样将会增大Excel表格的空间占用量,对于不存的图片将会造成失误。(2)图片的宽度、高度分别是单元格宽度、高度减4,其位置是单元格位置(距离左侧、顶部)加2,这样就可以使得图片在单元格里边居中显示。(3)使用With……End With语句可以对某个对象(已经选择的图片)执行一系列的语句而不用重复指出对象的名称。

  • WPS的Excel表格怎样使用宏去批量插入图片
  • EXCEL图片引用功能
  • Excel如何设置鼠标点一下显示图片再点一下隐藏
  • excel中要怎样让图片跟着单元格移动
  • Excel如何批量插入图片到表格中?
  • 热门搜索
    防控疫情的手抄报 红领巾相约中国梦手抄报 关于春节的英语手抄报 庆元旦手抄报 尊老敬老的手抄报 我读书我快乐手抄报内容 安全卫生手抄报 抗击肺炎手抄报 少数民族手抄报 十一手抄报