Excel VBA:工作表中自动插入图片的三种方法
创作时间:
作者:
@小白创作中心
Excel VBA:工作表中自动插入图片的三种方法
引用
1
来源
1.
http://vba-nav.com/excelvba/addpicture/
通过Excel VBA自动在工作表中插入图片,可以显著提高工作效率,避免手动插入图片的繁琐操作,同时还能实现数据与图片的联动,便于制作各类报表和资料。
场景应用
以下是一些常见的应用场景:
- 自动在报告或资料中插入公司Logo或图表
- 批量为产品清单或目录添加图片
- 根据条件动态更改图片
示例代码
在指定单元格位置插入图片
Option Explicit
Sub InsertImage()
Dim ws As Worksheet
Dim imgPath As String
Dim img As Shape
Dim targetCell As Range
' 指定要插入图片的工作表和单元格
Set ws = ThisWorkbook.Sheets("Sheet1") ' 可以修改为其他工作表名称
Set targetCell = ws.Range("B2") ' 指定目标单元格
' 指定图片的完整路径(需要根据实际情况修改)
imgPath = "C:\Users\User\Pictures\标准.png"
' 插入图片
Set img = ws.Shapes.AddPicture(imgPath, msoFalse, msoCTrue, _
targetCell.Left, targetCell.Top, -1, -1)
End Sub
要点:
imgPath
需要指定图片的完整路径targetCell.Left
和targetCell.Top
用于确定图片的位置-1, -1
表示保持图片的原始大小
指定大小插入图片
Option Explicit
Sub InsertImageWithSize()
Dim ws As Worksheet
Dim imgPath As String
Dim img As Shape
Dim targetCell As Range
' 指定工作表和目标单元格
Set ws = ThisWorkbook.Sheets("Sheet1")
Set targetCell = ws.Range("B2")
' 图片路径
imgPath = "C:\Users\User\Pictures\标准.png"
' 插入指定大小的图片(100x100像素)
Set img = ws.Shapes.AddPicture(imgPath, msoFalse, msoCTrue, _
targetCell.Left, targetCell.Top, 100, 100)
End Sub
要点:
- 通过指定宽度和高度(如100, 100)来控制图片大小
- 适用于需要固定图片尺寸的场景
替换已有图片
Option Explicit
Sub ReplaceImage()
Dim ws As Worksheet
Dim imgPath As String
Dim img As Shape
Dim shp As Shape
' 指定工作表
Set ws = ThisWorkbook.Sheets("Sheet1")
' 删除已有的图片
For Each shp In ws.Shapes
If shp.Type = msoPicture Then shp.Delete
Next shp
' 图片路径
imgPath = "C:\Users\User\Pictures\标准.png"
' 插入新图片
Set img = ws.Shapes.AddPicture(imgPath, msoFalse, msoCTrue, 50, 50, -1, -1)
End Sub
要点:
- 使用循环遍历所有形状对象并删除图片
- 确保每次只保留一张新插入的图片
注意事项
- 图片路径必须使用完整路径,相对路径可能导致错误
- 可以通过
-1, -1
保持图片原始大小,或指定具体的宽度和高度 - 要将图片定位在单元格内,可以使用
Left
和Top
属性 - 删除已有图片时,需要遍历所有形状对象并检查类型
总结
通过VBA自动化插入图片的核心方法包括:
- 使用
Shapes.AddPicture
方法插入图片 - 通过循环遍历
Shapes
集合删除已有图片 - 使用
Left
和Top
属性控制图片位置
对于希望提升Excel自动化处理能力的用户,掌握这些基础代码是非常有帮助的。此外,对于经常使用Excel的职场人士来说,考取VBA相关认证可以进一步提升专业技能。
热门推荐
解放军部队和预备役部队,究竟有啥区别?预备役都是非现役人员吗
西门子电动执行机构常见故障及处理方法
眼睛红肿疼痛怎么办?原因分析与治疗建议
这种“切肤之痛”三分之一的人会遭遇!带状疱疹防治全攻略
俄唯一航母近照图曝光,越修越慢,中国网友给俄罗斯指了两条明路
结婚男方程序安排:从筹备到婚礼的详细指南
什么是肺结核皮试
年画时光《宋庆龄》:你看的不是一个传奇女人的一生,而是那段历史
斯洛文尼亚正在进行克尔什科核电站新选址和技术可行性研究
香港税收居民身份和永久居民身份概念解析
植物光合作用原理及在农业中的应用
中华两千年,都城变迁史
今后杭州东站可高铁直达上海浦东机场
操作系统上下文切换详解:从基本概念到实现细节
中美空军实力对比:谁将在未来空战中占优?
淮山种植技术与栽培要点详解
人类探测器第一次离太阳如此之近!它为什么没有被融化?
女性如何走出离婚的痛苦及困境
21个出自诸葛亮《出师表》里的成语,你总结过有几个吗?
反诈宣传|网络兼职需谨慎 如何预防被坑被骗?
李庄古镇:岁月沉淀的魅力之地!
东南大学吴国球教授团队完成1.17亿元重大科技成果转化
冠心病患者肉类选择指南:哪些肉类更有利于心血管健康?
老年医疗器械:便携轻松的健康护理
冬吃萝卜夏吃姜:当姜汁成为夏季骑行补剂
十类常见的消防设施有哪些 消防设施种类包括什么
《活出生命的意义》:一个心理学家对生命价值的终极探索
“八大菜系之母”的豫菜,为啥近百年来几乎成绝唱?原因让人无奈
哪些因素影响车位投资回报率?
对阵摩洛哥C罗仍是焦点话题,桑托斯:不要破坏团队气氛