求解!!
想在excel中输入姓名后自动插入图片,但是插入一下code后,仅在第一行实现了自动插入,无法循环至下一行,求解问题出在哪!
SubAutoAddPic() Dimi, j As Integer, Snp ForEach Shp In ActiveSheet.Shapes If Shp.Type = msoPicture Then Shp.Delete Next Dim MyPcName As String For i = 1 To 20 '行循环 For j = 2 To 20 '列循环 If (ActiveSheet.Cells(i, 1).Value = "姓名") Then MyPcName = ActiveSheet.Cells(i, j).Value & ".jpg" 'MsgBox "图片的完整路径是" & ThisWorkbook.Path & "\TPFMS Photos\"& MyPcName ActiveSheet.Cells(i + 2, j).Select '选择要插入图片的单元格作为目标 Dim MyFile As Object Set MyFile = CreateObject("Scripting.FileSystemObject") '在选定的单元格中插入图片 ActiveSheet.Pictures.Insert(ThisWorkbook.Path& "\TPFMS Photos\" & MyPcName).Select With Selection.ShapeRange .LockAspectRatio = msoFalse '不锁定图片的比例 .Height = ActiveSheet.Cells(i + 2, j).Height - 4 '图片的高度设为单元格高度-4 .Width = ActiveSheet.Cells(i + 2, j).Width - 4 '图片的宽度设为单元格高度-4 .Top = ActiveSheet.Cells(i + 2, j).Top + 2 '图片的位置为E列对应单元格到顶部的距离+2 .Left = ActiveSheet.Cells(i + 2, j).Left + 2 '图片的位置为E列对应单元格到左侧的距离+2 End With End If Next j Next i End Sub
|