snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ถ้าใส่ชื่อรูปที่ Column B เพื่อให้แสดงที่ column C แล้ว
อยากให้ ใส่ชื่อรูปที่ Column E เพื่อให้แสดงที่ column F ด้วย ต้องแก้ไข code ยังไงคะ
ไฟล์มีขนาดใหญ่เกินไป ไม่สามารถแนบได้ค่ะ
Sub ShowPicture()
Dim r As Range, ra As Range
Dim imgIcon As Object
Dim obj As Object
On Error Resume Next
With Worksheets("Sheet1")
Set ra = .Range("C6", .Range("B" & .Rows.Count) _
.End(xlUp).Offset(0, 1))
End With
For Each obj In ActiveSheet.Shapes
If Left(obj.Name, 4) = "Pict" Then
obj.Delete
End If
Next obj
For Each r In ra
Set imgIcon = ActiveSheet.Shapes.AddPicture( _
Filename:="D:\" & r.Offset(0, -1).Value & ".jpg", _
LinkToFile:=False, saveWithDocument:=True, _
Left:=r.Left, Top:=r.Top, _
Width:=r.Width, Height:=r.Height)
Next r
End Sub
Attachments
2020-08-26_17-26-06.png (146.7 KiB) Viewed 51 times
Last edited by Phupay on Wed Aug 26, 2020 5:34 pm, edited 1 time in total.
Sub ShowPicture()
Dim r As Range, ra As Range
Dim imgIcon As Object
Dim obj As Object
On Error Resume Next
With Worksheets("Sheet1")
Set ra = .Range("C6", .Range("B" & .Rows.Count) _
.End(xlUp).Offset(0, 1))
End With
For Each obj In ActiveSheet.Shapes
If Left(obj.Name, 4) = "Pict" Then
obj.Delete
End If
Next obj
For Each r In ra
Set imgIcon = ActiveSheet.Shapes.AddPicture( _
Filename:="D:\" & r.Offset(0, -1).Value & ".jpg", _
LinkToFile:=False, saveWithDocument:=True, _
Left:=r.Left, Top:=r.Top, _
Width:=r.Width, Height:=r.Height)
Next r