乐于分享
好东西不私藏

1秒插100张图!这个Excel神技让我准时下班了!

1秒插100张图!这个Excel神技让我准时下班了!
你是否在为批量插入图片到表格而烦恼?
今天给大家分享一个VBA宏。
用了这个宏之后:
  1. 选中“产品编号”或“款号”的那一列;
  2. 按下你设置好的快捷键(比如CTRL+SHIFT+P);
  3. 等待3秒钟......所有图片自动插入、自动对齐、自动调整大小。
不卖关子,直接上完整代码。即使你是VBA小白,也能直接复制使用。
Sub 批量插图() '适配多种图片格式    On Error GoTo ErrorHandler    Dim imagePath As String    Dim fso As Object    Dim pic As String    Dim ML As DoubleMT As DoubleMW As DoubleMH As Double    Dim MR As Range    Dim shape As shape    Dim extensions As Variant, ext As Variant    extensions = Array(".jpg"".jpeg"".png"".gif"".bmp")    imagePath = "D:\图片汇总\"    Set fso = CreateObject("Scripting.FileSystemObject")    For Each ext In extensions    For Each MR In Selection        If Not IsEmpty(MR) Then            pic = imagePath & CStr(MR.Value) & ext            If fso.FileExists(pic) Then                ML = MR.Offset(0, 1).Left                MT = MR.top                MW = MR.Offset(0, 1).Width                MH = MR.Height                Set shape = ActiveSheet.Shapes.AddPicture( _                    fileName:=pic, _                    LinkToFile:=msoFalse, _                    SaveWithDocument:=msoTrue, _                    Left:=ML, _                    top:=MT, _                    Width:=MW, _                    Height:=MH)                With shape                    .Placement = xlMoveAndSize                    .Line.Visible = msoFalse                    .SoftEdge.Type = msoSoftEdgeType1                End With            End If        End If    Next    NextCleanUp:    Set fso = Nothing    Exit SubErrorHandler:    MsgBox "错误 " & err.Number & "" & err.Description & vbCrLf & _           "发生在单元格 " & MR.Address, vbExclamation    Resume CleanUpEnd Sub
手把手教程:5分钟,让你的Excel拥有“超能力”
第一步:调出VBA编辑器
  • 快捷键:ALT+F11
  • 或者:Excel功能区 → 开发工具 → 点击“Visual Basic"
第二步:插入模块,粘贴代码
  1. 在VBA编辑器左侧的“工程资源管理器”中,右键你的工作簿名称;
  2. 选择“插入” → “模块”;
  3. 将上方完整的代码,全部复制,粘贴到右侧出现的空白编辑窗口中。
第三步:设置专属快捷键
  1. 在Excel界面,点击“开发工具”选项卡 → “宏”;
  2. 在宏列表中,找到你刚粘贴的宏,名称应该是“批量插图”;
  3. 选中它,点击“选项...”按钮;
  4. 在“快捷键”处,输入一个你喜欢的字母,比如 P 。这意味着以后你按 CTRL+SHIFT+P 就能运行这个宏。
第四步:使用你的 “神器”
  1. 确保你的图片都放在 D:\图片汇总\ 文件夹,如果不是请修改成你的图片所在文件夹;假设你的款号是"A001",图片名称为“A001.jpg"或“A001.png";
  2. 在Excel中,选中包含这些名称的那一列区域;
  3. 按下你刚设置的快捷键,享受“魔法发生”瞬间吧。
这个VBA宏的优点:
  • 多图片格式智能适配:无论是 jpg 还是 png 或 gif/bmp都能自动识别;
  • 灵活定位:图片插入到选中单元格的右侧单元格,无黑框更美观;
备注如果你想把图片插入到选中单元格的左侧,把 18行和20行的 Offset(0, 1)  改成 Offset(0, -1) 即可,当然,如果想在选中单元格插入图片,删掉 Offset(0, 1) 即可
后台回复:015 ,获取VBA宏代码文件
#VBA编程#宏代码#Excel自动化#代码优化#办公效率#程序员思维
其它VBA相关代码:
VBA代码使用指南
常用VBA代码分享<二>
【VBA代码分享】5个VBA代码秒杀重复操作,效率飙升300%!职场必备!!