有的时候我们在excel记录班级同学、公司员工的档案信息的时候,会需要插入人物的照片。
Excel里面一张一张的插入照片,还需要手工的将每张图片调整和单元格一样的长宽,相信这个工作量就很赶人~~~
不过还好有VBA!!!
今天这篇文章就来分享一下用VBA帮你快速搞定Excel批量插入图片并完美匹配单元格大小。
问题背景
如下图,我们想实现的效果是,将提前收集准备好的图片插入到excel表格当中去,姓名就是插入图片的名字。
实操过程
1、提取所有图片的名字
这里我们可以使用之前介绍过的bat方法,新建一个txt文档,将下面的代码复制进去,保存为filename.bat
dir /B *.* >list.txt
然后将bat文件放入图片所在的文件夹内,双击,会自动生成一个list.txt的文档。
这样,我们就提取到了所有图片的名字。
2、用VBA批量插入图片
将上一步的涉及到的所有图片名字都复制到excel表当中去
然后运行下面的VBA代码
效果演示:
这样图片就自动插入进去了,并且自动将大小调整好和单元格匹配。
觉得不好或者需要更新照片的话,可以点击删除,然后再重新插入。
3、用“查找和替换”功能,将B2列姓名后面的扩展名删除掉。
这样就大功告成。
值得一说的地方
上面的代码里面,图片宽度
和列宽
值得注意,这里说明一下。
VBA里的图片宽度
和列宽
不是同一个单位,至于为啥我也说不清楚,应该是个long story。
我们平常使用也不用纠结这么多,只需要参照永恒君调整好的这个比例就差不多。
如下图,图片宽度
:列宽
=76:12=6.33
比如,你的excel表格里面放图片的单元格列宽是18,那么图片宽度需要设置为18*6.33=113.9即可。将代码里的这两个变量修改一下就可以了。
好了,以上就是今天的全部分享内容。
如果你对上面这些感兴趣的话,可以在公号内回复「插入图片」获取vba文件进行试用吧~~
欢迎交流!