批量插入图片到单元格并适应宽高度
Home
文件转换
图片字符识别-ocr
其他
数据图制作
Excel-vba代码范例
目录
文件转换
PDF按页分割成图片
PDF转换为Word文档
PDF多个文档合并
PDF提取图片和文字
多个图片合并PDF
多工作薄|表合并
图片字符识别-ocr
图文字符识别
批量图片字符识别_Word
其他
数字大小写
中文简繁体转换
数据图制作
图表之道
气泡图
漏斗图
甘特图
饼图与环形图
矩形树图
词云图
旋风图
区间条形图
垂直瀑布图
Excel-vba代码范例
Excel-vba
工作簿|表合并
工作表拆分
批量插入图片到单元格
批量插入图片到单元格批注
查找符合条件的内容并标记
二维数据表转一维
提取文件夹内的所有文件名
拆分字符串内字符字母和数字
批量复刻模板表并指定表名
一键生成工作表超链接目录
批量保存表格中的图片并命名
清除条件格式但保留样式
Sub 批量插入图片到工作表() '----------------------------------------------------------------------- '自定义数据类型 Dim ImgFileFormat, FirstAddress As String Dim Pic As Variant, Pic_name As String, Sizes As String, Choose_sht_name As String Dim Choose_rng, rng As Range Dim i As Integer Dim C As Range Dim Shp As Shape '声明图形对象变量 '选择需要插入区域 On Error Resume Next Set Choose_rng = Application.InputBox("选择需要插入的单元格或单元格区域", Type:=8) If Err.Number > 0 Then MsgBox "未选择内容": Exit Sub If WorksheetFunction.CountA(Choose_rng) = 0 Then MsgBox "选择单元格区域为空": Exit Sub Choose_sht_name = Choose_rng.Parent.Name On Error GoTo 0 '选择需要插入的图片及自定义图片的高度与宽度 ImgFileFormat = "Image files (*.bmp;*.gif;*.tif;*.jpg;*.jpeg;*.png)," & "*.bmp;*.gif;*.tif;*.jpg;*.jpeg;*.png" '指定图片格式 Pic = Application.GetOpenFilename(ImgFileFormat, , "选择多张图片", , True) '打开一个图片选择对话框 If VBA.TypeName(Pic) = "Boolean" Then MsgBox "没有选择文件": Exit Sub End If Star: Sizes = Application.InputBox("请指定图片的高度与宽度,中间用半角逗号隔开" & Chr(10) & "例如“30,260”或者“80,100”", "指定图片大小", "100,120", , , , , 2) If InStr(Replace(Sizes, ", ", ","), ",") = 0 Then GoTo Star '如果没有输入","则返回重新输入 Application.ScreenUpdating = False Application.DisplayAlerts = False For i = 1 To UBound(Pic) '获取图片名字 Pic_name = StrReverse(Mid(StrReverse(Pic(i)), WorksheetFunction.Find(".", StrReverse(Pic(i))) + 1, WorksheetFunction.Find("\", StrReverse(Pic(i))) - 1 - WorksheetFunction.Find(".", StrReverse(Pic(i))))) '添加图片批注 With Choose_rng Set C = .Find(Pic_name, LookIn:=xlValues) If Not C Is Nothing Then FirstAddress = C.Address Do Sheets(Choose_sht_name).Activate Sheets(Choose_sht_name).Pictures.Insert(Pic(i)).Select '插入图片 With Selection .Left = C.Offset(0, 1).Left '使图片的左边距等于其左上单元格的左边距 .Top = C.Offset(0, 1).Top '使图片的上边距等于其左上单元格的上边距 .Height = Split(Replace(Sizes, ", ", ","), ",")(1) '调整图片高度 .Width = Split(Replace(Sizes, ", ", ","), ",")(0) '调整图片宽 C.Offset(0, 1).RowHeight = .Height '调整行宽度 C.Offset(0, 1).ColumnWidth = .Width / 5.5 '调整列宽度,模糊调整 End With Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> FirstAddress End If End With Next i Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "插入图片完成" End Sub
复制代码
 
下载源码
复制成功!
1:批量插入图片并适配单元格
2:自定义宽高
3:自主修改部分代码做成小的应用
源码视频演示
浏览器不支持该视频格式(.mp4)
点击 播放
关闭 视频
请开发者喝杯咖啡!
豫ICP备2024075756号
豫ICP备2024075756号-1
豫公网安备41018202000916