excel:图片链接批量转为单元格图片-vb

一、目的

将A2:A7的链接的图片插入到B2:B7,效果如下图

二、方法

步骤1:调出VBA模块

按"Alt + F11" 打开VBA编辑器(或者通过点击'开发工具'→'Visual Basic')

步骤2:插入模块

右键工作簿 (链接所在的子表) → 插入模块

步骤3:粘贴如下代码点击F5(或者上方的运行按钮)

vbscript 复制代码
Sub 图片嵌入单元格()
    ' 1. 声明变量:告诉Excel要用到的"容器"类型
    Dim rng As Range           ' 声明rng为"单元格区域"变量,用来存放要遍历的A列单元格范围
    Dim cell As Range          ' 声明cell为"单个单元格"变量,用来逐个读取rng里的单元格
    Dim pic As Picture         ' 声明pic为"图片"变量,用来存放插入的图片对象
    
    ' 2. 定义要处理的单元格范围
    ' ThisWorkbook:当前打开的工作簿
    ' Sheets("Sheet1"):指定要操作的工作表(可改成你的表名,比如"图片列表")
    ' Range("A2:A7"):指定A列第2行到第7行(可改成你的实际数据范围,比如A2:A100)
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A2:A7")
    
    ' 3. 循环遍历rng里的每一个单元格
    ' For Each...Next:逐个取出rng里的单元格,赋值给cell变量
    For Each cell In rng
        ' 4. 判断当前单元格是否有内容(避免处理空单元格)
        ' cell.Value:单元格里的内容(也就是你的图片链接/路径)
        ' <> "":不等于空字符串
        If cell.Value <> "" Then
            ' 5. 插入图片:根据单元格里的路径,在Sheet1中插入图片
            ' Pictures.Insert(路径):Excel内置的插入图片方法,参数是图片的完整路径
            ' Set pic = :把插入的图片对象赋值给pic变量,方便后续调整
            Set pic = ThisWorkbook.Sheets("Sheet1").Pictures.Insert(cell.Value)
            
            ' 6. 批量设置图片的属性(With...End With:简化重复写pic.的操作)
            With pic
                ' 6.1 调整图片位置:对齐到B列对应单元格的左上角
                ' cell.Offset(0, 1):当前单元格向右偏移1列(即B列)
                ' .Top:图片的顶部位置 = B列单元格的顶部位置
                .Top = cell.Offset(0, 1).Top
                ' .Left:图片的左侧位置 = B列单元格的左侧位置
                .Left = cell.Offset(0, 1).Left
                
                ' 6.2 锁定图片比例:避免拉伸变形
                ' ShapeRange.LockAspectRatio:图片的比例锁定属性
                ' msoTrue:保持宽高比(如果设为msoFalse,图片会强制适配单元格,可能变形)
                .ShapeRange.LockAspectRatio = msoTrue
                
                ' 6.3 调整图片大小:匹配B列单元格的尺寸
                ' .Width:图片宽度 = B列单元格的宽度
                .Width = cell.Offset(0, 1).Width
                ' .Height:图片高度 = B列单元格的高度
                .Height = cell.Offset(0, 1).Height
                
                ' 6.4 核心:设置图片嵌入单元格(关键属性)
                ' .Placement:图片的放置方式
                ' xlMoveAndSize:图片随单元格移动、且随单元格调整大小(嵌入单元格的核心)
                ' 补充:xlMove=只移动不调整大小;xlFreeFloating=完全浮动(默认)
                .Placement = xlMoveAndSize
            End With
        End If
    ' 7. 循环到下一个单元格
    Next cell
' 8. 结束这个子程序
End Sub

备注:若是wps格式的表格,可以参考文章,直接一键搞定!excel:图片链接批量转为单元格图片-python-CSDN博客

相关推荐
灵析表格10 小时前
灵析表格财务函数深度实用性分析与实操教程
开发语言·ai·json·excel·wps
杰夫(简道云个人搭建)15 小时前
SAAS系统应该先解决业务问题,再优化体验
数据库·人工智能·低代码·excel·个人开发
AI导出鸭2 天前
怎么让豆包做表格?AI导出鸭苹果版将豆包输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
Am-Chestnuts3 天前
AI表格复制到Excel后日期金额和编号被改写:导入与格式检查方法
excel
方渐鸿3 天前
【无标题】使用Agent总结网页信息写入Excel
ai·excel
汉拓3D数字化3 天前
设计标准化怎么落地?企业设计标准化的5阶段实施路径
科技·excel·系统·软件
灵析表格4 天前
json_ObjectToKV 函数:Excel解析JSON对象的权威方案
json·excel
灵析表格4 天前
灵析表格文本处理函数技术白皮书:WPS Excel 官方函数扩展库 18 项文本规整与正则批处理企业落地标准
ai·json·excel·wps
灵析表格4 天前
WPS Excel官方函数扩展库数据安全加密校验函数深度研究报告:Excel国密SM3/SM4加解密、MD5摘要、UUID、Base64与URL编解码全栈解析
excel·wps
AC赳赳老秦5 天前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw