Page 1 of 1

VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 11:17 am
by parnseasa

Code: Select all

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("B1", .Range("A65536").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

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 11:38 am
by snasui
:D กรุณาโพสต์ Code ให้แสดงรูปแบบตัวอักษรของ Code อ่านกฎข้อ 4 และ 5 ด้านบนแล้วทำมาตามนั้นทั้ง 2 ข้อครับ :roll:

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 11:50 am
by parnseasa
แก้ไขแล้วครับ

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 12:19 pm
by snasui
:D ทำตามข้อ 5 แล้วแต่ยังไม่ได้ทำข้อ 4 ครับ

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 12:36 pm
by parnseasa
2.jpg

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 12:46 pm
by parnseasa
TEST รูปภาพ.xlsm

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 1:10 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
For Each r In ra
    If r.Offset(0, -1).Value <> "" Then
        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)
    End If
Next r
'Other code

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 1:18 pm
by parnseasa
แก้ไขได้แล้วครับ ขอบคุณมากเลยครับ :thup: :thup: :thup: :thup:

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 3:23 pm
by parnseasa

Code: Select all

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("B1", .Range("A65536").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
    If r.Offset(0, -1).Value <> "" Then
        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)
    End If
Next r
End Sub

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 3:28 pm
by parnseasa
Untitled.jpg

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 3:29 pm
by parnseasa
TEST รูปภาพ.xlsm

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 3:40 pm
by snasui
:D ได้เขียน Code สำหรับการทำงานนั้นมาแล้วหรือไม่ เขียนว่าอย่างไร :?: ทุกคำถามต้องเขียนมาเองก่อน ที่โพสต์มาคือ Code เดิมเท่านั้นครับ

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 3:43 pm
by parnseasa

Code: Select all

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("B1", .Range("A65536").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
    If r.Offset(0, -1).Value <> "" Then
        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)
    End If
Next r
End Sub

Re: VBA ดึงรูปภาพ กรณีรูปภาพไม่ได้มีทุกแถวจะมีข้อความขึ้น แก้ไขอย่างไรครับ

Posted: Mon Jan 09, 2023 4:05 pm
by snasui
:D กรุณาอ่านโพสต์ #12 👉 viewtopic.php?p=114736#p114735 ผมเขียนไว้ชัดเจนแล้ว ไม่โพสต์ Code เดิม ๆ ที่ยังไม่มีการปรับปรุงใด ๆ เพื่อจัดการกับปัญหาล่าสุดที่ถามมาครับ