อยากทราบคำสั่ง excel vba เกี่ยวกับ Shape

กระทู้คำถาม
คือผมสร้างปุ่มในตารางครับ แล้วถ้ากดปุ่ม ผมตั้งไว้ว่าถ้าเงื่อนไข(สมมุติ)เป็นจริง ให้สร้างรูปร่าง1ขึ้นมา และถ้าไปกดปุ่มนั้นอีกครั้งในขณะที่ รูปร่าง1 มันยังอยู่
ให้ลบรูปร่าง1 ทิ้งไปก่อนแล้วสร้างรูปร่าง1 ขึ้นมาใหม่ ต้องใช้คำสั่งอะไรครับในการให้vbaหาว่าไอรูปร่าง1เนี่ย มันยังอยู่รึเปล่าถ้าอยู่ให้ลบก่อนแล้วค่อยไปสร้างรูปร่าง1ขึ้นมา แต่ถ้ามันไม่มีรูปร่าง1อยู่ ให้สร้างรูปร่าง1ขึ้นมาเลย ต้องใช้คำสั่งอะไรครับในการหารูปร่าง

*เพิ่มเติมครับ ปกติเวลาผมสร้างรูปร่าง1เสร็จผมจะใส่ชื่อให้มันไปด้วย คือ ShapeRectangle1
แก้ไขข้อความเมื่อ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
Sub DeleteNameShapes_ActiveSheet(MyName As String)

  Dim shp As Shape

  For Each shp In ActiveSheet.Shapes(MyName)
     shp.Delete
  Next shp

End Sub

อ้างอิง   [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

แต่การสร้างและลบ  มันเปลืองหน่วยความจำและเป็นภาระซีพียู  โดยไม่จำเป็น
ถ้าเกิดในบริบทดังกล่าวนั้น  จริง ๆ สามารถใช้ hide, unhide แทนได้

เพราะการสร้างและทำลายแต่ละ object มีต้นทุนทาง cpu และหน่วยความจำ
สิ่งนี้เป็นข้อจำกัดของสถาปัตยกรรมระบบคอมพิวเตอร์ครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่