Page 1 of 1

แสดงรูปข้างหน้าชื่อ

Posted: Mon Mar 12, 2018 1:11 pm
by mr.zatan
จาก Code ด้านล่าง อยากให้แสดงรูปด้านหน้าชื่อ ครับ
เพราะตอนนี้รูปจะแสดงด้านหลังชื่อ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim r As Range, ra As Range
    Dim imgIcon As Object
    Dim obj As Object
    On Error Resume Next
    With Worksheets("New.Order")
        Set ra = .Range("B1000", .Range("C4:C1000").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:\imagee\" & r.Offset(0, -1).Value & ".jpg", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
        Width:=50, Height:=r.Height)
    Next r
End Sub

Re: แสดงรูปข้างหน้าชื่อ

Posted: Mon Mar 12, 2018 3:47 pm
by parakorn
แนบไฟล์ที่มีโค้ดมาด้วยครับ เพื่อนๆจะได้พอเห็นภาพ

Re: แสดงรูปข้างหน้าชื่อ

Posted: Tue Mar 13, 2018 9:34 am
by mr.zatan
แบบนี้ครับ:
Image

มีไฟล์แนบครับ:

Re: แสดงรูปข้างหน้าชื่อ

Posted: Tue Mar 13, 2018 6:45 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
With Worksheets("Sheet1")
    Set ra = .Range("B2", .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:\imagee\" & r.Offset(0, 1).Value & ".jpg", LinkToFile:=False, _
    SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
    Width:=50, Height:=r.Height)
Next r
'Other code

Re: แสดงรูปข้างหน้าชื่อ

Posted: Wed Mar 14, 2018 9:19 am
by mr.zatan
ขอบคุณมากครับ

Re: แสดงรูปข้างหน้าชื่อ

Posted: Wed Mar 21, 2018 3:42 pm
by mr.zatan
ปัญหาตอนนี้คือ พอมีจำนวนเยอะๆๆแล้วโหลดนานครับ เหมือนว่า เวลาเพิ่มชื่อ ก็จะดึงรูปใหม่ทั้งหมดเลย ก็เลยช้า

เป็นไปได้มัย ถ้าจะให้ดึงรูปเฉพาะอันที่เราเพิ่ม โดยไม่ต้อง ดึงรูปซ้ำ

Re: แสดงรูปข้างหน้าชื่อ

Posted: Wed Mar 21, 2018 8:00 pm
by snasui
:D การใช้ Code ล้วนเป็นไปได้ทั้งสิ้นครับ

ต้องมีหลักการในการตรวจสอบว่าโปรแกรมจะรู้ได้อย่างไรว่าอันไหนเพิ่ม อันไหนมีอยู่แล้วจะต้องออกแบบและลองเขียนมาก่อน ติดแล้วค่อยถามกันครับ

การนำภาพมาแสดงใน Excel ควรทำเท่าที่จำเป็นไม่ควรใช้ภาพเป็น Database เพราะ Excel ไม่เหมาะกับการเก็บภาพจำนวนมากครับ