excel高手请进-用VBA输入编号图片自动显示在excel中

PrivateSubCommandButton5_Click()'单击命令按钮DimrngAsRange,ML,MT,MW,MH,shpAsShape,n%,Myr&,i... Private Sub CommandButton5_Click() '单击命令按钮
Dim rng As Range, ML, MT, MW, MH, shp As Shape, n%, Myr&, i&
On Error Resume Next
Sheet1.Activate
For Each shp In ActiveSheet.Shapes
If shp.Type = msoAutoShape Then
shp.Delete
End If
Next
Myr = [a1].CurrentRegion.Rows.Count

For i = 2 To Myr Step 1
Set rng = Cells(i, 3).Resize(1, 1)
With rng
ML = .Left
MT = .Top
MW = .Width
MH = .Height
ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
Selection.ShapeRange.Fill.UserPicture _
ThisWorkbook.Path & "\" & Cells(i, 2).Value & ".jpg" '照片名字单元格

End With
Next
[a1].Select
If Err.Number <> 0 Then Err.Clear: On Error GoTo 0
End Sub
这个代码只能表格和图片在同一个文件夹内,我想把表格放在E:\
然后图片放在E:\新图片 里面。上面的代码要怎么改!谢谢!
展开
 我来答
万年金刚钻
推荐于2016-12-06 · TA获得超过1.6万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:3476万
展开全部
Private Sub CommandButton5_Click() '单击命令按钮
Dim rng As Range, ML, MT, MW, MH, shp As Shape, n%, Myr&, i&

On Error Resume Next

Sheet1.Activate

For Each shp In ActiveSheet.Shapes

If shp.Type = msoAutoShape Then

shp.Delete

End If

Next

Myr = [a1].CurrentRegion.Rows.Count

For i = 2 To Myr Step 1

Set rng = Cells(i, 3).Resize(1, 1)

With rng

ML = .Left

MT = .Top

MW = .Width

MH = .Height

ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select

Selection.ShapeRange.Fill.UserPicture _

"E:\新图片\" & Cells(i, 2).Value & ".jpg" '照片名字单元格

End With

Next

[a1].Select

If Err.Number <> 0 Then Err.Clear: On Error GoTo 0

End Sub

表格放哪里无所谓
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
复仇之牙
2015-06-25 · TA获得超过2250个赞
知道大有可为答主
回答量:1663
采纳率:78%
帮助的人:1543万
展开全部
把ThisWorkbook.Path & "\" & Cells(i, 2).Value & ".jpg" '照片名字单元格

改成"E:\新图片\" & Cells(i, 2).Value & ".jpg" '照片名字单元格

试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式