当前位置: 主页 > Office办公 > Excel专区 > Excel函数 > excel 批量导入图片 查找对应姓名的照片、批量导入图片

excel 批量导入图片 查找对应姓名的照片、批量导入图片

  • 2021-12-22
  • 来源/作者: 菜鸟图库/ 菜鸟图库
  • 1392 次浏览

excel批量导入图片一般是使用VBA代码实现,因为excel功能的局限性,插入——图片,尽管可以批量导入图片,但不能自动排版。

  文章总结几个excel批量导入图片相关的案例,分享给大家。

excel批量导入图片案例一:

  如下图所示:A列是姓名,D列需要批量导入A列姓名对应的照片,当单击“图片导入”按钮,即可批量导入图片。

  下面的代码实现的功能是:批量导入图片,然后按照原比例缩放以填充单元格,如果单元格高宽改变,再次单击“图片导入”按钮即可。

  说明:对应的图片命名需要和姓名一致,图片文件夹和excel源文件放在同一路径之下。

  下面是具体的代码:

Sub 批量导入图片()
    '将图片导入。
    '图片按照原比例存储,按照原比例存储
    On Error Resume Next
    Dim R&
    Dim Pic As Object
    '先删除所有可能存在的图片
    For Each Pic In Sheet1.Shapes
        If Pic.Name <> Sheet1.Shapes("按钮 97").Name Then
            Pic.Delete
        End If
    Next
    For R = 2 To Range("A65536").End(xlUp).Row
        '插入图片
        Set Pic = Sheet1.Pictures.Insert(ThisWorkbook.Path & "\pic\" & Cells(R, 1) & ".jpg")
        '锁定高宽比
        Pic.ShapeRange.LockAspectRatio = True
        '看高宽比。如果图片高宽比高,那么调整到单元格高度,否则调整到单元格宽度
        '我们看到的右键格式菜单里的东西都是针对ShapeRange而言的,所以要用ShapeRange来设定
        With Pic.ShapeRange
            '如果图片高宽比比单元格大,说明图片太高,只需调整图片高度
            If .Height / .Width > Cells(R, 4).Height / Cells(R, 4).Width Then
                .Height = Cells(R, 4).Height
                '调整位置
                .Top = Cells(R, 4).Top
                .Left = Cells(R, 4).Left + (Cells(R, 4).Width - .Width) / 2
            '如果图片高宽比比单元格小,说明图片太宽,只需调整图片宽度
            Else
                .Width = Cells(R, 4).Width
                '调整位置
                .Left = Cells(R, 4).Left
                .Top = Cells(R, 4).Top + (Cells(R, 4).Height - .Height) / 2
            End If
        End With
    Next R
End Sub

  我们在excel对图片进行排版时,可以选中图片,勾选对齐网格,以及在插入图片或控件时,按住Alt键并拖动对象的边框,可以快速调整尺寸适应单元格大小。

excel 批量导入图片 查找对应姓名的照片、批量导入图片

excel批量导入图片案例二:

  利用excel制作职工基本情况统计表,如果将公司所有员工的照片都粘贴在EXCEL中,会造成EXCEL文件臃肿不勘。附件提供的文件和方法只需将员工照片与EXCEL放在一个文件夹内即可快速调用。

  随着C2单元格选择不同的姓名,所有的资料信息和对应的照片会自动发生改变。下面是一个截图。

excel 批量导入图片 查找对应姓名的照片、批量导入图片

excel批量导入图片案例三:

  按照级别批量插入对应的军衔图片。

  第一步:在H2单元格中输入下列公式,下拉填充至H9单元格:
="<table><img src="""&REPLACE(CELL("filename"),FIND("[",CELL("filename")),99,)&"photo\"&G2&".gif"" width=72 height=48>"

  第二步:复制H2:H9单元格→选中1个空单元格→单击编辑栏→将剪切板的内容粘贴到编辑栏内→在编辑栏内复制刚才粘贴的内容→单击H2单元格→Ctrl+V粘贴,完成批量导入图片。

excel 批量导入图片 查找对应姓名的照片、批量导入图片