手机版

计算机教程:类似这样的问题

时间:2021-12-07 来源:互联网 编辑:宝哥软件园 浏览:

一.先决条件

在Excel的单元格中,已经输入了人的名字,在名字下有空单元格插入对应的图片。

如下图所示。比如B1是名字,而B3是根据张三的名字自动将张三的照片插入B3。等等。

Excel  VBA如何根据姓名自动插入照片 三联

这必须使用VBA来完成。

同时,人物照片所在的文件夹与Excel工作簿的路径相同,例如下面的位置。

另外,每个员工照片的名字都是以员工的名字命名的,如下图所示。

 电脑教程 像这样的问题需求

计算机课

像这样的问题有一定的规律性,可以用VBA来完成。

二、实施方法

打开你的Excel,然后执行菜单操作:工具宏宏;弹出如下对话框。

 电脑教程 像这样的问题需求

在上图中,宏名所在的位置,输入AutoAddPic,然后点击“创建”按钮,弹出代码输入窗口,如下图所示。

 电脑教程 像这样的问题需求

请完整地按照上面所示编写代码,否则会出现异常。为了方便大家学习,下面的代码写成如下供参考:

自动插入图片前删除所有图片。

对于活动表中的每个Shp。形状

如果Shp。Type=msoPicture然后是Shp。删除

然后

将“我的姓名”设为字符串

对于此工作簿,i=1。活动工作表。使用范围。行数。计数

If (activesheet。细胞(I,1)。值='名称')然后

MyPcName=ActiveSheet。细胞(I,2)。价值。gif '

“MsgBox”图片的完整路径是“ThisWorkbook”。路径'员工照片' MyPcName '

活动纸。细胞(i 2,2)。选择“选择要插入图片的单元格作为目标”。

将我的文件作为对象变暗

设置我的文件=创建对象('脚本。文件系统对象')

我的文件。文件存在(此工作簿。路径“员工照片”MyPcName)=False然后

Gboxthisworkbook.path '员工照片' MyPcName '图片不存在'

其他

在选定的单元格中插入图片。

active sheet . pictures . insert(this workbook . path ' employee photo ' my PCname)。挑选

如果…就会结束

如果…就会结束

接下来我

写完代码后,点击窗口中的保存,然后关闭代码窗口,返回Excel窗口。

然后执行菜单操作:工具宏宏,弹出下图。

 电脑教程 像这样的问题需求

选择上面创建的宏名AutoAddPic,然后点击“执行”按钮,这样Excel就会根据每个名字找到对应的照片,并将照片插入到每个人对应的单元格中。

第三,知识扩展

此工作簿.活动工作表.使用范围.行数.计数此行代码表示在工作表中获取有效数据的最大行数。

If (activesheet。细胞(I,1)。value=' name ')确定第一列中每行的内容是否为单词' name '。如果是名字,找图片插入,否则找不到。

Mypc name=activesheet.cells (i,2)。值。' gif '获取每个人的照片名称,如青山. gif

此工作簿。路径‘员工照片’MyPcName是拍摄所有人照片的路径,是完整的绝对路径,不是相对路径。

活动纸。细胞(i 2,2)。选择“选择要插入图片的单元格作为目标”,即选择要插入图片的单元格。

active sheet . pictures . insert(this workbook . path ' employee photo ' my PCname)。“选择”在选定的单元格中插入图片。

my file . file exists(this workbook . path '员工照片' MyPcName)=False然后判断员工照片是否存在。

版权声明:计算机教程:类似这样的问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。