: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

Show Picture

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
palmy
Member
Member
Posts: 78
Joined: Fri Nov 12, 2010 3:06 pm

Show Picture

#1

Post by palmy »

เรียนอาจารย์ครับ
ผมลองนำCode การดึงรูปภาพมาแสดงใน Excel ซึ่งสามารถดึงรูปมาแสดงได้
แต่ทีนี้เวลาเราค้นหารูปภาพถัดไป รูป Icon และ Logo ต่างๆที่เราทำใน Sheet นี้ก็หายไปด้วย
ต้องปรับ Code อย่างไรครับถึงจะให้หายไปเฉพาะรูปที่เราดึงมาแสดง

Code: Select all

Sub ShowPicture00()
    Dim r As String
    r = Range("B9").Value
    On Error Resume Next
    ActiveSheet.Shapes(1).Delete
    Range("H2").Select
    ActiveSheet.Pictures.Insert("D:\PicSSK\" & r & ".BMP").Select
    Selection.ShapeRange.ScaleWidth 0.14, _
        msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.14, _
        msoFalse, msoScaleFromTopLeft
    Range("B9").Select
End Sub
Sub ShowPicture()
Dim r As String
Dim imgIcon
On Error Resume Next
    ActiveSheet.Shapes(1).Delete
r = Range("B9").Value
With Range("H2")
    Set imgIcon = ActiveSheet.Shapes.AddPicture( _
    Filename:="D:\PicSSK\" & r & ".BMP", LinkToFile:=False, _
    SaveWithDocument:=True, Left:=.Left, Top:=.Top, _
    Width:=120, Height:=130)
End With
Set imgIcon = Nothing
End Sub
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: Show Picture

#2

Post by joo »

:D ลองแนบไฟล์มาดูกันหน่อยครับเพื่อนสมาชิกจะได้ช่วยกันทดสอบ
palmy
Member
Member
Posts: 78
Joined: Fri Nov 12, 2010 3:06 pm

Re: Show Picture

#3

Post by palmy »

ไฟล์ตัวอย่างครับ
ใน Sheet Search จะใช้โค๊ดดึงรูปภาพมาแสดงจากรหัสพนักงาน
ซึ่งสามารถเรียกรูปได้ปกติ
แต่ ตัวควบคุมฟอร์ม รูปโลโก้ต่างๆ จะหายไปหมดเลยครับ
(จากตัวอย่างที่แนบ รูปโลโก้หายไปแล้ว และตัวควบคุมฟอร์มที่ใช้บันทึกข้อมูลไปอีก Sheet ก็หายไปด้วยครับ)
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Show Picture

#4

Post by snasui »

:D ตัวอย่างการปรับ code เป็นตามด้านล่างเพื่อลบ object อื่น ๆ ที่ไม่ได้ชื่อ รูปภาพ 5 ออกไป

Code: Select all

Sub ShowPicture()
    Dim r As String
    Dim p As Object
    Dim imgIcon
    On Error Resume Next
    For Each p In ActiveSheet.Shapes
        If p.Name <> "รูปภาพ 5" Then
            p.Delete
        End If
    Next p
'     ActiveSheet.Shapes(1).Delete
    r = Range("B9").Value
    With Range("H2")
        Set imgIcon = ActiveSheet.Shapes.AddPicture( _
        Filename:="D:\PicSSK\" & r & ".BMP", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=.Left, Top:=.Top, _
        Width:=120, Height:=130)
    End With
    Set imgIcon = Nothing
End Sub
palmy
Member
Member
Posts: 78
Joined: Fri Nov 12, 2010 3:06 pm

Re: Show Picture

#5

Post by palmy »

เรียนถามครับ
จากการใช้งานดึงรูปภาพมาแสดง สิ่งที่เจอปัญหาเพิ่มเติม ซึ่งไม่แน่ใจว่าเป็นเพราะใช้ Code นี้หรือเปล่า
คือการใช้ Data Validation เพื่อจัดทำรายการเลือก (List) ใน Sheet นี้
จะถูกลบหมด เมื่อเช็คไปที่ Validation การตั้งค่าก็ยังเป็นรูปแบบ "รายการ" อยู่เช่นเดิม
แต่ใน Cell นั้น ไม่มีปุ่มลูกศร Dropdown ให้เลือก
ต้องตั้งค่า Validation จากรายการ เป็นค่าใดๆ ก่อน แล้วตั้งใหม่ก็สร้างเป็นรายการได้
แต่ป้อนข้อมูลในการดึงภาพใหม่ List รายการก็หายไปอีก
รบกวนช่วยแนะนำด้วยครับ
User avatar
tupthai
Bronze
Bronze
Posts: 302
Joined: Sat Feb 04, 2012 2:49 pm

Re: Show Picture

#6

Post by tupthai »

เปลี่ยนจาก

Code: Select all

For Each p In ActiveSheet.Shapes
        If p.Name <> "รูปภาพ 5" Then
           p.Delete
        End If
 Next p
เป็น

Code: Select all

For Each p In ActiveSheet.DrawingObjects
        If p.Name <> "รูปภาพ 5" Then
            p.Delete
        End If
    Next p
:D ลองทดสอบดูครับ
palmy
Member
Member
Posts: 78
Joined: Fri Nov 12, 2010 3:06 pm

Re: Show Picture

#7

Post by palmy »

ขอบคุณมากครับ
nurak
Member
Member
Posts: 59
Joined: Thu May 06, 2010 5:27 am

Re: Show Picture

#8

Post by nurak »

มีวิธีการปรับลดขนาดความละเอียดของรูป ก่อนนำเข้าใน Excel หรือไม่ครับ หรือมีวิธีอื่นๆช่วยแนะนำด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Show Picture

#9

Post by snasui »

:D สามารถใช้ Microsoft Office Picture Manager เข้ามาช่วยได้ครับ

กรณีใช้ Windows 7 คลิก Start > คีย์ m o p m Windows จะ Search โปรแกรมมาให้
nurak
Member
Member
Posts: 59
Joined: Thu May 06, 2010 5:27 am

Re: Show Picture

#10

Post by nurak »

ถ้าเป็น XP วิธีการทำแบบไหนครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Show Picture

#11

Post by snasui »

:D ลองตามนี้ครับ

Start > All Programs > Microsoft Office > Microsoft Office xxxx Tools

สำหรับ xxxx คือ Version ของ Microsoft Office ที่ใช้อยู่ครับ
Post Reply