广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Excel表格自动插入图片

    来源:网络收集  点击:  时间:2024-08-07
    【导读】:
    如下图所示,要从“D:\ABCD”文件夹里面获取图片并插入到Excel表格的E列上面(图片名称与A列同一行单元格的内容相对应)。如果要插入的图片较少,可以手动处理;图片较多时,还是使用VBA程序处理比较快捷,也比较工整。工具/原料more计算机Windows 7Excel 2010方法/步骤1/5分步阅读

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

    2/5

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

    3/5

    在模块的代码框里边输入以下程序代码,然后按下【F5】键运行程序。

    Sub PicturesInsert()

    Dim i, arr, str, typ, shp

    On 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.Shapes

    If shp.Left mysheet1.Columns(D).Left And shp.Left mysheet1.Columns(F).Left Then

    shp.Delete 如果是E列单元格里边的图片,则删除

    End If

    Next

    For 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

    Next

    End If

    Next

    mysheet1.Cells(i + 1, 5).Select

    Application.ScreenUpdating = True 恢复更新显示

    End Sub

    4/5

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

    5/5

    VBA程序、思路解读:

    (1)自动插入图片时,原先位置的图片应当删除,否则,每次插入图片都会把原来的图片覆盖,这样将会增大Excel表格的空间占用量,对于不存的图片将会造成失误。

    (2)图片的宽度、高度分别是单元格宽度、高度减4,其位置是单元格位置(距离左侧、顶部)加2,这样就可以使得图片在单元格里边居中显示。

    (3)使用With……End With语句可以对某个对象(已经选择的图片)执行一系列的语句而不用重复指出对象的名称。

    注意事项

    个人经验,仅供参考。

    EXCEL自动插入图片程序编程
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1077569.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 21:25:52  耗时:0.032
    0.0324s