หน้าเว็บบอร์ด Knowledge Excel Show Picture

Show Picture

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA

กฎการใช้บอร์ด

  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา เช่น คับ (ครับ), เด๋ว (เดี๋ยว) เป็นต้น
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบไฟล์ตัวอย่างมาแทนไฟล์จริงประกอบคำถาม เพื่อป้องกันข้อมูลสำคัญรั่วไหล นอกจากนี้ยังช่วยเพิ่มความสะดวกในการตอบคำถาม
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

โพสต์ จันทร์ มี.ค. 04, 2013 12:31 am
palmy Member
Member

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

โพสต์ จันทร์ มี.ค. 04, 2013 11:48 am
joo Gold
Gold

โพสต์: 1091
:D ลองแนบไฟล์มาดูกันหน่อยครับเพื่อนสมาชิกจะได้ช่วยกันทดสอบ

โพสต์ จันทร์ มี.ค. 04, 2013 8:30 pm
palmy Member
Member

โพสต์: 78
ไฟล์ตัวอย่างครับ
ใน Sheet Search จะใช้โค๊ดดึงรูปภาพมาแสดงจากรหัสพนักงาน
ซึ่งสามารถเรียกรูปได้ปกติ
แต่ ตัวควบคุมฟอร์ม รูปโลโก้ต่างๆ จะหายไปหมดเลยครับ
(จากตัวอย่างที่แนบ รูปโลโก้หายไปแล้ว และตัวควบคุมฟอร์มที่ใช้บันทึกข้อมูลไปอีก Sheet ก็หายไปด้วยครับ)
คุณไม่มีสิทธิ์ดูไฟล์ที่แนบมาในกระทู้

โพสต์ จันทร์ มี.ค. 04, 2013 10:40 pm
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 13414
ที่อยู่: Songkhla, Thailand

:D ตัวอย่างการปรับ code เป็นตามด้านล่างเพื่อลบ object อื่น ๆ ที่ไม่ได้ชื่อ รูปภาพ 5 ออกไป
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
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)

โพสต์ พุธ มี.ค. 06, 2013 12:22 am
palmy Member
Member

โพสต์: 78
เรียนถามครับ
จากการใช้งานดึงรูปภาพมาแสดง สิ่งที่เจอปัญหาเพิ่มเติม ซึ่งไม่แน่ใจว่าเป็นเพราะใช้ Code นี้หรือเปล่า
คือการใช้ Data Validation เพื่อจัดทำรายการเลือก (List) ใน Sheet นี้
จะถูกลบหมด เมื่อเช็คไปที่ Validation การตั้งค่าก็ยังเป็นรูปแบบ "รายการ" อยู่เช่นเดิม
แต่ใน Cell นั้น ไม่มีปุ่มลูกศร Dropdown ให้เลือก
ต้องตั้งค่า Validation จากรายการ เป็นค่าใดๆ ก่อน แล้วตั้งใหม่ก็สร้างเป็นรายการได้
แต่ป้อนข้อมูลในการดึงภาพใหม่ List รายการก็หายไปอีก
รบกวนช่วยแนะนำด้วยครับ

โพสต์ พุธ มี.ค. 06, 2013 8:09 am
tupthai ภาพประจำตัวสมาชิก
Bronze
Bronze

โพสต์: 284
เปลี่ยนจาก
For Each p In ActiveSheet.Shapes
        If p.Name <> "รูปภาพ 5" Then
           p.Delete
        End If
 Next p

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

:D ลองทดสอบดูครับ

โพสต์ พุธ มี.ค. 06, 2013 10:04 am
palmy Member
Member

โพสต์: 78
ขอบคุณมากครับ

โพสต์ เสาร์ ก.พ. 15, 2014 6:43 am
nurak Member
Member

โพสต์: 48
มีวิธีการปรับลดขนาดความละเอียดของรูป ก่อนนำเข้าใน Excel หรือไม่ครับ หรือมีวิธีอื่นๆช่วยแนะนำด้วยครับ

โพสต์ เสาร์ ก.พ. 15, 2014 8:35 am
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 13414
ที่อยู่: Songkhla, Thailand

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

กรณีใช้ Windows 7 คลิก Start > คีย์ m o p m Windows จะ Search โปรแกรมมาให้
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)

โพสต์ เสาร์ ก.พ. 15, 2014 8:47 am
nurak Member
Member

โพสต์: 48
ถ้าเป็น XP วิธีการทำแบบไหนครับ

โพสต์ เสาร์ ก.พ. 15, 2014 8:53 am
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 13414
ที่อยู่: Songkhla, Thailand

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

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

สำหรับ xxxx คือ Version ของ Microsoft Office ที่ใช้อยู่ครับ
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)


ย้อนกลับไปยัง Excel