养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

[VBA进阶] 2、EXCEL批量插入图片(完美版)

时间:2024-10-22 13:44:01

此篇为vba进阶篇,提供一组VBA代码,可以根据工作表中已知擢爻充种的图片名称,不需要考虑图片文件的格式问题叵萤茆暴(代码中包含jpg,jpeg,bmp,png,gif五中格式,可后续添加),也不用复杂的公式,即可批量插入对应的图片,免去一个一个重复插入图片的繁琐工作!注:下面的经验视频用手机播放更清晰。

http://v.youku.com/v_show/id_XMzYyNTY2NjM4NA==.html?spm=a2hzp.8244740.0.0

工具/原料

OFFICE2016(以打开“开发工具”选项卡)

图片的源文件

方法/步骤

1、[第一步]准备好需要插入图片的工作表,和图片源文件。如果工作表还没有打开“开发工具”选项卡的话,可以先百度一下怎么打开“开发工具”选项卡。

[VBA进阶] 2、EXCEL批量插入图片(完美版)

2、[第二步]这一步需要将“批量插入图片”的代码放入到模块中。依次单击:开发工具选项卡→V坡纠课柩isualBasic→插入谘锔康民→模块→复制以下代码到模块中→关闭VB代码编辑窗口注意:代码复制过程中文字会自动换行,可以根据我提供的代码图片调整位置!!代码位置要和我图片中的一样,否则会出现运行不了的情况。PublicSubQ()'开始插入图片Application.ScreenUpdating=FalseDimPicName$,pand&,k&,PicPath,i,p,n,PicArr,TitleRowDimPicNameCol,PicPath2,PicPath3,TPnameCol,TPColSetPicNameCol=Application.InputBox("请选择图片名称所在列,只能选择单列单元格!",Title:="图片名称所在列",Type:=8)'选择的图片名称所在列PicCol=PicNameCol.Column'取图片名称所在列列列标SetTPnameCol=Application.InputBox("请选择图片需要放置的列,只能选择单列单元格!",Title:="图片所在列",Type:=8)'选择的图片所在列TPCol=TPnameCol.Column'取图片所在列列列标TitleRow=Val(Application.InputBox("请输入标题行的行数。"))'用户设置总表的标题行数IfTitleRow<0ThenMsgBox"标题行必须大于等于零,请重新确认?":ExitSubWithApplication.FileDialog(msoFileDialogFolderPicker).AllowMultiSelect=False'禁止多选文件夹If.ShowThenPicPath=.SelectedItems(1)Else:ExitSubEndWithIfRight(PicPath,1)<>"\"ThenPicPath=PicPath&"\"PicArr=Array(".jpg",".jpeg",".bmp",".png",".gif")'假定图片格式有5种Fori=TitleRow+1ToCells(Rows.Count,PicCol).End(3).RowPicPath2=PicPathPicName=Cells(i,PicCol).ValueIfLen(PicName)<>0Then'如果PicName不为空PicPath3=PicPath2&PicNamepand=0Forp=0ToUBound(PicArr)IfLen(Dir(PicPath3&PicArr(p)))Then'如果picpath路径下存在PicName图片ActiveSheet.Shapes.AddPicturePicPath3&PicArr(p),True,True,_Cells(i,TPCol).Left,Cells(i,TPCol).Top,_Cells(i,TPCol).Width,Cells(i,TPCol).Heightpand=1n=n+1EndIfNextIfpand=0Thenk=k+1EndIfNextApplication.ScreenUpdating=TrueIfk<>0ThenMsgBox"图片插入完成!共有"&k&"张图片未找到,请重新确认源文件!"ElseMsgBox"所有图片插入完成!"EndIfEndSub

[VBA进阶] 2、EXCEL批量插入图片(完美版)

[VBA进阶] 2、EXCEL批量插入图片(完美版)

3、[第三步]在工作表中插入一个命令按钮,用来运行上面的程序。依次单击:开发工具→插入→表单控件→按钮(窗体控件)→通过鼠标在工作表中画一个按钮→在弹出的窗口中选择宏“Q”→确定

[VBA进阶] 2、EXCEL批量插入图片(完美版)

[VBA进阶] 2、EXCEL批量插入图片(完美版)

4、[第四步]开始运行程序。单击刚刚创建的“按钮”→选择图片名称所在的列→选择图片需要插入的列→输入标题行的行数→打开原图片所在文件夹→完成。图片插入完成以后会提示你是否有图片未找到,这时需要对文件名和格式进行确认。

[VBA进阶] 2、EXCEL批量插入图片(完美版)

5、这组插入图片的代码不需要设置参数,它会根据单元格大小自适应!!!如果觉得这篇经验帮到了你,请点击下方的“投票"和"有得"支持我!还有疑问的话可以点击下方的“我有疑问”,谢谢啦!

© 一点知识