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相关认证可以进一步提升专业技能。
热门推荐
从山鸡哥到实力派:陈小春的演艺进阶之路
陈小春:用行动诠释公益精神
如何通过夜班管理提高员工的工作效率和服务质量
银行卡过期怎么办?教你轻松换卡
关于除夕的传统习俗、来历、寓意着什么精选大全
春节拜年新花样,南北大比拼!
冬季武功山徒步装备指南:从基础装备到安全提示
武功山徒步打卡绝美摄影点:发云界、千丈岩、云海日出
冬日武功山徒步攻略:绝美风光配美食
武功山徒步攻略:征服“云端草原”的N个理由
多肉刚剪下来能插吗(多肉叶片扦插方法步骤)
多肉叶片扦插方法:从选叶到养护的完整指南
在床上的72种扦插方法有哪些-如何通过这些方法快速繁殖植物
《红楼梦》里的“伏脉千里”有多绝?
长征路上周恩来病危,杨立三抬6天6夜,19年后总理亲自为他引棺
他可授元帅却客死外国,周总理亲自为他抬棺,五大元帅送殡
氯疹会持续多久?
湿疹怎么治?全面解析湿疹的治疗方法
成语“五花八门”最初来源是哪里?它是怎么演变而来的?
燃气灶灶头打火原理解析:工作原理与常见问题解决方案
家电维修:从自助到专业,教你如何应对常见故障及预防技巧
科普|喝水能预防肾结石吗?该怎么喝才科学?
厨房燃气灶一打火老是容易灭?学会这3招,连维修老师傅都服!
厨房燃气灶的总阀门需要每天关吗?听师傅说完,发现自己做错了
健康科普丨幽门螺杆菌检测方法大盘点
宁静致远:大楷书法,沙孟海、赵朴初、启功、舒同等名家作品欣赏
诸葛亮到底会不会打仗?李世民的评价,一针见血,直指要害
从诸葛亮的《出师表》看忠诚教育的力量
《出师表》中的语言魅力分析
台北故宫展出唐代《出师表》真迹:字字生辉,引发书坛热议