:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ไฟล์ ดึงรูป Error

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

ไฟล์ ดึงรูป Error

#1

Post by trirongcop »

Test pic.xlsm
สอบถามครับ ใช้สูตร Macro ด้านล่างในการดึงรูปมาโชว์ แต่ติดปัญหา Run แล้ว Error เนื่องจากมีการ Update Microsoft vison ใหม่
ตัวอย่าง สูตรตามด้านล่างจะปรับแบบไหนได้บ้าง ครับ


Sub Macro1()
Dim r As Range, ra As Range
Dim imgIcon As Object
Dim obj As Object
On Error Resume Next
With Worksheets("Pic")
Set ra = .Range("A2", .Range("b1500").End(xlUp).Offset(0, 0))
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:="T:\Office\Bow\ItemsPic\" & r.Offset(0, 1).Value & ".jpg", LinkToFile:=False, _
SaveWithDocument:=True, Left:=r.Left + 1, Top:=r.Top, _
Width:=r.Width - 1, Height:=r.Height)
Next r
End Sub

ตัวอย่าง ไฟล์ Error ในเอกสารแนบ ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30752
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ไฟล์ ดึงรูป Error

#2

Post by snasui »

:D กรุณาปรับการโพสต์ Code ให้แสดงเป็นตัวอักษรแบบ Code ดูตัวอย่างในกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ :roll:
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#3

Post by trirongcop »

Code: Select all

Sub Macro1()
Dim r As Range, ra As Range
Dim imgIcon As Object
Dim obj As Object
On Error Resume Next
With Worksheets("Pic")
Set ra = .Range("A2", .Range("b1500").End(xlUp).Offset(0, 0))
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:="T:\Office\Bow\ItemsPic\" & r.Offset(0, 1).Value & ".jpg", LinkToFile:=False, _
SaveWithDocument:=True, Left:=r.Left + 1, Top:=r.Top, _
Width:=r.Width - 1, Height:=r.Height)
Next r
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 30752
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ไฟล์ ดึงรูป Error

#4

Post by snasui »

:D หากต้องการวางรูปในคอลัมน์ A การกำหนดค่าให้ตัวแปร ra ควรเป็น Set ra = .Range("A2", .Range("b1500").End(xlUp).Offset(0, -1)) ครับ

ควรจับภาพปัญหามาด้วยจะได้เข้าถึงปัญหาโดยเร็วครับ
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#5

Post by trirongcop »

อาจารย์ ครับ ถ้าเกิดจากการที่เครื่องคอมมีการ update Microsoft version ใหม่ ควรปรับแก้ไข หรือเพิ่มเติม code VBA ไปในทิศทางไดได้บ้าง ครับ :D
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ไฟล์ ดึงรูป Error

#6

Post by puriwutpokin »

ThisWorkbook.Activate ลองใส่ตัวนี้ดูครับว่าจะได้ไหม

Code: Select all

Sub Macro1()
Dim r As Range, ra As Range
Dim imgIcon As Object
Dim obj As Object
On Error Resume Next
With Worksheets("Pic")
Set ra = .Range("A2", .Range("b1500").End(xlUp).Offset(0, 0))
End With
For Each obj In ActiveSheet.Shapes
If Left(obj.Name, 4) = "Pict" Then
obj.Delete
End If
Next obj
ThisWorkbook.Activate  'ลองใส่ตัวนี้ดูครับว่าจะได้ไหม
For Each r In ra
Set imgIcon = ActiveSheet.Shapes.AddPicture( _
Filename:="T:\Office\Bow\ItemsPic\" & r.Offset(0, 1).Value & ".jpg", LinkToFile:=False, _
SaveWithDocument:=True, Left:=r.Left + 1, Top:=r.Top, _
Width:=r.Width - 1, Height:=r.Height)
Next r
End Sub
:shock: :roll: :D
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#7

Post by trirongcop »

:D อาจาร์ย ครับ run แล้วยังไม่ได้ครับ แต่ขึ้น Error หน้าต่างนี้เหมือนเดิม ต้องกด OK จนถึงแถวสุดท้ายรูปถึงจะขึ้นครับ
ตัวอย่างข้อความและ Code BVA ที่ error ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ไฟล์ ดึงรูป Error

#8

Post by puriwutpokin »

ปรับตามนี้ครับ

Code: Select all

Sub Macro1()
    Dim r As Range, ra As Range
    Dim imgIcon As Object
    Dim obj As Object
    On Error Resume Next
    With Worksheets("Pic")
        Set ra = .Range("A2:A" & .Range("b1500").End(xlUp).Row)
    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:="T:\Office\Bow\ItemsPic\" & r.Offset(0, 1) & ".jpg", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left + 1, Top:=r.Top, _
        Width:=r.Width - 1, Height:=r.Height)
    Next r
End Sub
:shock: :roll: :D
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#9

Post by trirongcop »

:D อาจารย์ ครับ ปรับสูตรได้ผลลัพธ์ถูกต้อง แต่ถ้าจะเพิ่มรูปให้เพิ่มอีก Columns ข้างๆกันปรับเพิ่มได้ไหมครับ
ผลลองปรับ

Code: Select all

Range("B1500:F1500")[code] แต่ไม่ได้ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ไฟล์ ดึงรูป Error

#10

Post by puriwutpokin »

ปรับตามนี้ครับ

Code: Select all

Sub AddPics()
    Dim r As Range, ra As Range
    Dim imgIcon As Object
    Dim obj As Object
    On Error Resume Next
    With Worksheets("Pic")
        Set ra = .Range("A2:A" & .Range("b1500").End(xlUp).Row)
        Set rb = .Range("E2:E" & .Range("f1500").End(xlUp).Row)
    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 Union(ra, rb)
        Set imgIcon = ActiveSheet.Shapes.AddPicture( _
        Filename:="T:\Office\Bow\ItemsPic\" & r.Offset(0, 1) & ".jpg", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left + 1, Top:=r.Top, _
        Width:=r.Width - 1, Height:=r.Height)
    Next r
End Sub
:shock: :roll: :D
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#11

Post by trirongcop »

:thup: ขอบคุณอาจารย์มากครับจะนำไปปรับใช้ให้ประโยชน์ให้มากที่สุดครับ :cp:
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#12

Post by trirongcop »

อาจารย์ ครับ สอบถามเพิ่มเติมหน่อยครับ ถ้า Number ไหนที่ไม่มีอยู่ใน ฐาน Data สูตรแจ้ง Error ขึ้น ปรับให้ค้นหาข้ามแล้วให้เป็น ช่องว่างพอจะได้ไหมครับ
ตัวอย่าง Error ที่มีอักษรอื่นที่ไม่มีในฐาน Data ครับ
Error 2.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ไฟล์ ดึงรูป Error

#13

Post by puriwutpokin »

ปรับตามนี้ครับ

Code: Select all

Sub AddPics()
    Dim r, ra, rb As Range
    Dim imgIcon, obj As Object
    Dim PicFile As String
    On Error Resume Next
    With Worksheets("Pic")
        Set ra = .Range("A2:A" & .Range("b1500").End(xlUp).Row)
        Set rb = .Range("E2:E" & .Range("f1500").End(xlUp).Row)
    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 Union(ra, rb)
        PicFile = "T:\Office\Bow\ItemsPic\" & r.Offset(0, 1) & ".jpg"
        If Dir(PicFile) <> vbNullString Then
        Set imgIcon = ActiveSheet.Shapes.AddPicture( _
        Filename:=PicFile, LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left + 1, Top:=r.Top, _
        Width:=r.Width - 1, Height:=r.Height)
     End If
    Next r
End Sub
:shock: :roll: :D
User avatar
trirongcop
Member
Member
Posts: 210
Joined: Fri Dec 18, 2015 3:21 pm

Re: ไฟล์ ดึงรูป Error

#14

Post by trirongcop »

:thup: ขอบคุณครับอาจารย์ ไม่ Error แล้วครับ :cp:
Post Reply