Excel VBA 实例(38)- 批量插入图片并完美匹配单元格大小

有的时候我们在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即可。将代码里的这两个变量修改一下就可以了。

好了,以上就是今天的全部分享内容。

大家的点赞、在看和转发对我非常重要,如文章对你有帮助还请支持下,谢谢各位!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章