批量插入图片到单元格批注
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 Dim Choose_rng, rng As Range Dim i As Integer Dim C As Range '选择需要插入区域 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 On Error GoTo 0 '选择需要插入的图片及自定义图片的高度与宽度 ImgFileFormat = "Image files (*.bmp;*.gif;*.tif;*.jpg;*.jpeg)," & "*.bmp;*.gif;*.tif;*.jpg;*.jpeg" '指定图片格式 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 C.ClearComments '清除原有批注 With C '引用当前单元格 .AddComment '添加批注 .Comment.Visible = True .Comment.Shape.Fill.UserPicture Pic(i) '设置普通填充 .Comment.Shape.Select True '选择批注 .Comment.Shape.Height = Split(Replace(Sizes, ", ", ","), ",")(0) '自定义高度 .Comment.Shape.Width = Split(Replace(Sizes, ", ", ","), ",")(1) '自定义宽度 .Comment.Text Text:="" '用空格作为批注内容 .Comment.Visible = False '不可见 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