สอบถามการกำหนด VBA code ให้ลบเฉพาะรูปภาพ โดยไม่ลบ Combobox (ActiveX control)
Posted: Tue Nov 28, 2017 10:03 pm
เรียน อาจารย์ ครับ
เนื่องจากผมได้สร้างแบบฟอร์มประวัติพนักงาน โดยใช้ combobox (ActiveX control) ในการค้นหาชื่อพนักงาน และให้มีการแทรกรูปพนักงานขึ้นมาด้วย
โดยไฟล์ตัวอย่างเมื่อกดปุ่มคำสั่งแล้วจะทำการ copy รหัสพนักงานไปไว้ใน cell ที่กำหนด และโปรแกรมก็จะทำการแทรกรูปขึ้นมา และเมื่อต้องการค้นหาพนักงานรายถัดไปก็จะพิมพ์รหัสพนักงานที่ cell A2 และกดค้นหา ซึ่งคำสั่งในการค้นหามีการกำหนดให้ลบรูปภาพก่อนหน้าทิ้งด้วย
ซึ่งคำสั่งสามารถลบรูปภาพออกไปได้ และแทรกรูปใหม่ขึ้นมาให้ตรงตามความต้องการ แต่คำสั่งได้ลบ combobox (ActiveX control) ที่มีความจำเป็นต้องใช้ออกไปด้วย จึงอยากขอสอบถามอาจารย์ว่ามีวิธีไหนที่แก้ไข code ให้ลบเฉพาะรูปภาพ แต่ไม่ลบ combobox (ActiveX control) ครับ
ขอบคุณครับ
เนื่องจากผมได้สร้างแบบฟอร์มประวัติพนักงาน โดยใช้ combobox (ActiveX control) ในการค้นหาชื่อพนักงาน และให้มีการแทรกรูปพนักงานขึ้นมาด้วย
โดยไฟล์ตัวอย่างเมื่อกดปุ่มคำสั่งแล้วจะทำการ copy รหัสพนักงานไปไว้ใน cell ที่กำหนด และโปรแกรมก็จะทำการแทรกรูปขึ้นมา และเมื่อต้องการค้นหาพนักงานรายถัดไปก็จะพิมพ์รหัสพนักงานที่ cell A2 และกดค้นหา ซึ่งคำสั่งในการค้นหามีการกำหนดให้ลบรูปภาพก่อนหน้าทิ้งด้วย
ซึ่งคำสั่งสามารถลบรูปภาพออกไปได้ และแทรกรูปใหม่ขึ้นมาให้ตรงตามความต้องการ แต่คำสั่งได้ลบ combobox (ActiveX control) ที่มีความจำเป็นต้องใช้ออกไปด้วย จึงอยากขอสอบถามอาจารย์ว่ามีวิธีไหนที่แก้ไข code ให้ลบเฉพาะรูปภาพ แต่ไม่ลบ combobox (ActiveX control) ครับ
ขอบคุณครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myPict As Picture
Dim PictureLoc As String
If Target.Address = Range("B2").Address Then
ActiveSheet.Pictures.Delete
PictureLoc = "D:\Photo\" & Range("B2") & ".Jpg"
With Range("B2")
Set myPict = ActiveSheet.Pictures.Insert(PictureLoc)
myPict.Height = 150
myPict.Width = 100
End With
End If
End Sub