Excel批量插入并统一图片尺寸有四种方法:一、用HYPERLINK+EMBED公式结合VBA;二、运行VBA宏遍历文件夹插入并设宽120高80;三、Power Query预处理路径后联动VBA刷新;四、用Kutools等插件图形化设置参数一键完成。

如果您在Excel中需要将大量图片插入到工作表中,并确保所有图片具有相同的尺寸,手动逐个插入和调整会非常耗时。以下是实现批量添加图片并统一尺寸的具体操作步骤:
一、使用插入对象功能批量导入图片
该方法通过Excel的“插入对象”机制,结合文件路径批量引用图片,适用于图片已按行列顺序存放在同一文件夹中且命名规则清晰的场景。
1、在Excel中新建一列,输入每张图片的完整绝对路径(例如:C:\Images\pic1.jpg),确保每一行对应一张图片。
2、选中该列中第一个路径单元格,在相邻空白列的第一个单元格中输入公式:=HYPERLINK(A1,"插入图片"),回车后生成可点击链接。
3、复制该公式至全部对应行,形成与图片数量一致的链接列表。
4、右键任一链接 → 选择“编辑超链接” → 在地址栏中将路径替换为:=EMBED("Paint.Picture","")(此操作需配合VBA启用)。
二、借助VBA宏一键插入并缩放图片
该方法直接调用Excel对象模型,遍历指定文件夹内所有支持格式的图片,按顺序插入到活动工作表的指定列中,并强制设置为统一宽高。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码(请将"path\"替换为您的实际图片文件夹路径):
Sub InsertAndResizeImages()
Dim fso As Object, folder As Object, file As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\path\")
For Each file In folder.Files
If LCase(fso.GetExtensionName(file.Name)) Like "jpg" Or _
LCase(fso.GetExtensionName(file.Name)) Like "png" Or _
LCase(fso.GetExtensionName(file.Name)) Like "bmp" Then
ActiveSheet.Pictures.Insert(file.Path).ShapeRange.LockAspectRatio = msoFalse
ActiveSheet.Pictures(ActiveSheet.Pictures.Count).Width = 120
ActiveSheet.Pictures(ActiveSheet.Pictures.Count).Height = 80
End If
Next file
End Sub
3、关闭VBA编辑器,返回Excel,按Alt+F8运行宏“InsertAndResizeImages”。
三、利用Power Query预处理图片路径后联动插入
该方法适用于需将图片与表格数据(如产品编号、名称)严格对齐的场景,通过Power Query加载路径列表并生成结构化引用,再配合定义名称与公式驱动图片显示。
1、将所有图片重命名为与表格某列值完全一致(如A2单元格为“P001”,则对应图片命名为“P001.jpg”)。
2、在Power Query中导入存放图片路径的文本文件或Excel列表,添加自定义列生成完整路径字符串。
3、在Excel中定义名称“ImgPath”,引用公式:=REPLACE(SUBSTITUTE(CELL("filename",A1),"[",""),"]",""),FIND("[",CELL("filename",A1)),1,"")&"Images\"&A2&".jpg"。
4、在目标单元格插入图片对象,右键→“设置图片格式”→“属性”→勾选“大小和位置随单元格而变”,再通过VBA绑定该单元格的ImgPath值触发刷新。
四、使用第三方加载项快速完成批量操作
部分专业Excel插件(如Kutools for Excel)内置“批量插入图片”功能,可绕过编程门槛,直接通过图形界面设定插入位置、尺寸、对齐方式及边距参数。
1、安装Kutools for Excel并启用插件面板。
2、点击“Kutools”选项卡 → “插入”组 → “批量插入图片”。
3、在弹出窗口中点击“添加文件夹”,选择含所有目标图片的目录。
4、在“插入设置”区域设定:宽度=120像素,高度=80像素,插入起始单元格=D2,按行填充。
5、点击“确定”,所有图片将在指定区域按序插入并自动缩放至统一尺寸。










