Excel表中根据表格内容插入相同名字图片

查看 94|回复 4
作者:yangaming   
Excel表中根据表格内容插入相同名字图片,如A列的A2单元格内容是MP0028829127,在B列的单元格B2插入文件名为MP0028829127的图片.下面链接为样例的文件.在线等,万分感谢!
https://yangaming.lanzoue.com/iFduJ242utcf

内容, 表格

liu00cheng   

使用插件 Excel精灵
软件地址  https://www.excelbbx.net/
操作演示  https://mp.weixin.qq.com/s/dXMuFRGPiompngom6NL8Vg
shudong8023   

先把表格和图片都降序排序,再通过方方格子的图片工具,导入图片.(导入图片右侧会有一个图片命名的一列).再进行比较,或者使用vlookup函数进行匹配.
yangaming
OP
  

好多这些工具都是收费的,如果能帮忙用VBA写会方便很多.
zaz99   

GPT给的步骤:要使用VBA在Excel中根据A列的内容在B列插入对应名字的图片,您可以按照以下步骤操作:
1.打开Excel并按Alt + F11,进入VBA编辑器。
2.在VBA编辑器中插入一个新模块:
    选择 插入 (Insert) -> 模块 (Module)。
3.将以下代码复制并粘贴到模块中:
[C] 纯文本查看 复制代码Sub InsertPictures()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim picPath As String
    Dim picName As String
    Dim pic As Picture
   
    ' 修改为图片存储的文件夹路径
    Const picFolderPath As String = "C:\Path\To\Your\Pictures\Folder\"
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 修改为你的工作表名字
    Set rng = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
   
    For Each cell In rng
        picName = cell.Value & ".jpg" ' 假设图片是jpg格式
        picPath = picFolderPath & picName
        
        On Error Resume Next
        Set pic = ws.Pictures.Insert(picPath)
        On Error GoTo 0
        
        If Not pic Is Nothing Then
            pic.Top = cell.Offset(0, 1).Top
            pic.Left = cell.Offset(0, 1).Left
            pic.Width = cell.Offset(0, 1).Width
            pic.Height = cell.Offset(0, 1).Height
            Set pic = Nothing
        End If
    Next cell
End Sub
4.修改代码中的路径和工作表名字:
    将 picFolderPath 修改为存储图片的文件夹路径。
    将 Sheet1 修改为实际使用的工作表名字。
    如果图片不是 .jpg 格式,请修改 picName = cell.Value & ".jpg" 中的扩展名。
5.运行宏:
返回Excel,按Alt + F8,选择 InsertPictures 宏并点击“运行”。
此代码会遍历A列,从A2单元格开始,根据单元格的内容在B列相应位置插入对应名字的图片。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部