Page 1 of 1

ไม่ให้ Code ลบปุ่มใช้คลิก

Posted: Fri Nov 20, 2015 11:40 am
by pongpang
เรียน อาจารย์ ทุกท่าน
ผมต้องการให้ พิมพ์ชื่อในเซลที่กำหนด แล้ว ภาพตามชื่อที่พิมพ์ปรากฏ ในเซลที่ต้องการ เช่น พิมพ์ชื่อภาพที่ F4 ภาพปรากฎที่ F5 แล้วคลิกที่ปุ่มเพื่อหาข้อมูลอื่นที่เกี่ยวข้อง แต่ Code มีผลทำให้ปุ่มต่าง ๆ ลบหมด สำหรับ ภาพประกอบแสดงที่ถูกลบ ดังนี้ ครับ
ภาพเริ่มต้นก่อนป้อนชื่อ
ภาพเริ่มต้นก่อนป้อนชื่อ
ลบปุ่มใช้คลิก1.jpg (33.07 KiB) Viewed 96 times
เมื่อป้อนชื่อไปเรื่อย ๆ ปุ่มจะถูกลบมากขึ้นจนหมด
เมื่อป้อนชื่อไปเรื่อย ๆ ปุ่มจะถูกลบมากขึ้นจนหมด
ลบปุ่มใช้คลิก3.jpg (26.3 KiB) Viewed 96 times
สำหรับ Code ดังนี้ ครับ

Code: Select all

Sub ShowPicture()
Dim r As String
Dim imgIcon
On Error Resume Next
    ActiveSheet.Shapes(1).Delete
r = Range("F4").Value
With Range("f5")
    Set imgIcon = ActiveSheet.Shapes.AddPicture( _
    Filename:="C:\Users\com\Pictures\" & r & ".jpg", LinkToFile:=False, _
    SaveWithDocument:=True, Left:=.Left, Top:=.Top, _
    Width:=80, Height:=80)
End With
Set imgIcon = Nothing
Range("f4").Select
End Sub
และแนบไฟล์มาด้วยแล้ว ครับ
ลบปุ่มใช้คลิก.xlsm
(32.85 KiB) Downloaded 14 times
ขอความกรุณา แนะนำ Code ด้วยครับ

Re: ไม่ให้ Code ลบปุ่มใช้คลิก

Posted: Fri Nov 20, 2015 6:48 pm
by snasui
:D Code ที่ใช้ลบ Object คือ ActiveSheet.Shapes(1).Delete ให้ Mark เป็น Comment เพื่อจะได้ไม่ลบ Object ทิ้งไปครับ

Re: ไม่ให้ Code ลบปุ่มใช้คลิก

Posted: Fri Nov 20, 2015 9:12 pm
by pongpang
เรียนอาจารย์ ครับ
snasui wrote::D Code ที่ใช้ลบ Object คือ ActiveSheet.Shapes(1).Delete ให้ Mark เป็น Comment เพื่อจะได้ไม่ลบ Object ทิ้งไปครับ
ผม Mark แล้ว ผลคือ ภาพเก่าจะไม่ลบ ภาพใหม่จะมาซ้อนทับ ครับ ไม่ทราบจะแก้ไขอย่างไร ที่ต้องการให้ลบภาพเก่า ภาพใหม่แทนที่ภาพเก่า และปุ่มต่าง ๆ ไม่ถูกลบ ครับ

Re: ไม่ให้ Code ลบปุ่มใช้คลิก

Posted: Fri Nov 20, 2015 11:09 pm
by snasui
:D การลบภาพให้ดูในกระทู้ที่เคยถามก่อนหน้าว่าใช้ Code สำหรับวน Loop การลบภาพอย่างไร ให้นำ Code นั้นมาปรับใช้ครับ