如何利用EXCEL VBA,自动批量在B列插入A列相对应的图片,并且图片与B列单元格格式大小一致
图片文件在D:\pic中,A1单元格内容为“张三”,我要在B1单元格中自动插入图片,图片名为“张三.JPG”,并且图片能够自动适应B1格子大小,如下B列根据A列要插入很多...
图片文件在D:\pic中,A1单元格内容为“张三”,我要在B1单元格中自动插入图片,图片名为“张三.JPG”,并且图片能够自动适应B1格子大小,如下B列根据A列要插入很多照片,请求大神写个代码(本人菜鸟,代码最好能详细介绍一下,那边干嘛用的,更改位置数据方法)
A1 B1
张三 张三.jpg
李四 李四.jpg
王五 王五.jpg 展开
A1 B1
张三 张三.jpg
李四 李四.jpg
王五 王五.jpg 展开
2个回答
展开全部
' a列为图片名c列显示图片
Sub insertPic()
Dim i As Integer
Dim FilPath As String
Dim rng As Range
Dim s As String
With Sheets("sheet1")
For i = 3 To .Range("a65536").End(xlUp).Row
FilPath = ThisWorkbook.Path & "\" & "图片档案" & "\" & .Cells(i, 1).Text & ".jpg"
If Dir(FilPath) <> "" Then
.Pictures.Insert(FilPath).Select
Set rng = .Cells(i, 3)
With Selection
.Top = rng.Top + 1
.Left = rng.Left + 1
.Width = rng.Width - 1
.Height = rng.Height - 1
End With
Else
s = s & Chr(10) & .Cells(i, 1).Text
End If
Next
.Cells(3, 1).Select
End With
If s <> "" Then
MsgBox s & Chr(10) & "没有照片!"
End If
End Sub
参考一下
更多追问追答
追问
.TOP前面的点要加吗?按照这个方法不行啊?能说详细一点吗?我是录制宏然后停止宏,接着编辑宏把你发的代码加进去,把图片地址加进去后执行!挑出对话框所有图片文件名跳出来了!但是图片没有出来!求解
追答
在工作簿的同路径下建一个文件夹,命名为“图片档案”,把你的图片复制到此。
复制粘贴代码后,运行代码,完成。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询