在采集员工信息或者学生信息的时候,常常需要添加上照片,如果信息量比较大,我们通过插入图片的方式来完成就比较困难,这里我们尝试用宏来解决这个问题。
工具/原料
EXCEL软件
制作方法
1
首先我们需要把照片放到文件夹里面,命名为111,然后把工作表和文件夹111放在同一目录=C:\Documents and Settings\Administrator\桌面\111,工作表的建立形式如图所示。
2
打开工作表,点击开发工具——宏,打开宏编辑窗口,在宏名称中输入“AutoAddPic”,单击“创建”按钮,打开宏编辑器。
3
在 Sub AutoAddPic()
End Sub
中间输入以下代码,保存后,关闭。
For Each Shp In ActiveSheet.Shapes
If Shp.Type = msoPicture Then Shp.Delete
Next
Dim MyPcName As String
For i = 1 To ThisWorkbook.ActiveSheet.UsedRange.Rows.Count
If (ActiveSheet.Cells(i, 1).Value = "姓名") Then
MyPcName = ActiveSheet.Cells(i, 2).Value & ".jpg"
ActiveSheet.Cells(i + 1, 2).Select
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
If MyFile.FileExists(ThisWorkbook.Path & "\" & "111" & "\" & MyPcName) = False Then
MsgBox ThisWorkbook.Path & "\" & "111" & "\" & MyPcName & "暂无图片"
Else
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & "111" & "\" & MyPcName).Select
End If
End If
Next i
4
打开工作表,点击开发工具——宏,打开宏编辑窗口,选择AutoAddPic,单击执行,这时候,工作表中就插入了照片。
END代码介绍
1
If (ActiveSheet.Cells(i, 1).Value = "姓名") Then
MyPcName = ActiveSheet.Cells(i, 2).Value & ".jpg"
ActiveSheet.Cells(i + 1, 2).Select
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
意思是在(i, 1)中如果单元格内容是“姓名”,在它右边相邻单元格内容是“XXX”,那么在下面的单元格中有以下情况。
2
ThisWorkbook.Path & "\" & "111" & "\" & MyPcName,其中ThisWorkbook.Path是指该工作表的路径,111是文件夹的名称,
END温馨提示:经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。免责声明:本文转载来之互联网,不代表本网站的观点和立场。如果你觉得好欢迎分享此网址给你的朋友。转载请注明出处:https://www.i7q8.com/zhichang/24206.html