有的時候我們在excel記錄班級同學、公司員工的檔案信息的時候,會需要插入人物的照片。
Excel里面一張一張的插入照片,還需要手工的將每張圖片調整和單元格一樣的長寬,相信這個工作量就很趕人~~~
不過還好有VBA!!!
今天這篇文章就來分享一下用VBA幫你快速搞定Excel批量插入圖片并完美匹配單元格大小。
問題背景
如下圖,我們想實現的效果是,將提前收集準備好的圖片插入到excel表格當中去,姓名就是插入圖片的名字。
實操過程
1、提取所有圖片的名字
這里我們可以使用之前介紹過的bat方法,新建一個txt文檔,將下面的代碼復制進去,保存為.bat
dir /B *.* >list.txt
然后將bat文件放入圖片所在的文件夾內,雙擊vba 自動改變圖片大小,會自動生成一個list.txt的文檔。
這樣,我們就提取到了所有圖片的名字。
2、用VBA批量插入圖片
將上一步的涉及到的所有圖片名字都復制到excel表當中去
然后運行下面的VBA代碼
效果演示:
這樣圖片就自動插入進去了,并且自動將大小調整好和單元格匹配。
覺得不好或者需要更新照片的話,可以點擊刪除vba 自動改變圖片大小,然后再重新插入。
3、用“查找和替換”功能,將B2列姓名后面的擴展名刪除掉。
這樣就大功告成。
值得一說的地方
上面的代碼里面,圖片寬度和列寬值得注意,這里說明一下。
VBA里的圖片寬度和列寬不是同一個單位,至于為啥我也說不清楚,應該是個long story。
我們平常使用也不用糾結這么多,只需要參照永恒君調整好的這個比例就差不多。
如下圖,圖片寬度:列寬=76:12=6.33
比如,你的excel表格里面放圖片的單元格列寬是18,那么圖片寬度需要設置為18*6.33=113.9即可。將代碼里的這兩個變量修改一下就可以了。