วิธีการลบช่วงที่ตั้งชื่อโดยใช้ vba (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อลบช่วงที่มีชื่อออกจากสมุดงาน Excel:

 Sub DeleteNamedRanges()
 
Dim NamedRange As Name

For Each NamedRange In ActiveWorkbook.Names
    If NamedRange.Visible Then NamedRange.Delete
Next NamedRange

End Sub

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: ลบช่วงที่มีชื่อในสมุดงาน Excel โดยใช้ VBA

สมมติว่าเรามีสมุดงาน Excel ที่มีช่วงที่ตั้งชื่อไว้สามช่วงต่อไปนี้:

  • ช่วงที่มีชื่อเรียกว่า sheet1_name ใน Sheet1
  • ช่วงที่มีชื่อเรียกว่า sheet2_name ใน Sheet2
  • ช่วงที่มีชื่อเรียกว่า sheet3_name ใน Sheet3

หากต้องการดูแต่ละช่วงที่มีชื่อเหล่านี้ เพียงคลิกลูกศรดรอปดาวน์ใน กล่องชื่อ ที่มุมซ้ายบนของแผ่นงาน:

สมมติว่าเราต้องการลบช่วงที่มีชื่อเหล่านี้แต่ละช่วง

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub DeleteNamedRanges()
 
Dim NamedRange As Name

For Each NamedRange In ActiveWorkbook.Names
    If NamedRange.Visible Then NamedRange.Delete
Next NamedRange

End Sub

เมื่อดำเนินการแมโครนี้ ช่วงที่ตั้งชื่อทั้งหมดในสมุดงานทั้งหมดจะถูกลบ

เราสามารถตรวจสอบได้ว่าถูกลบไปแล้วโดยคลิกที่ ช่องชื่อ อีกครั้งที่มุมซ้ายบนของแผ่นงานใดแผ่นหนึ่ง:

เราจะเห็นว่า กล่องชื่อ ไม่มีชื่อของช่วงที่ตั้งชื่ออีกต่อไป

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีวางค่าโดยไม่ต้องจัดรูปแบบเท่านั้น
VBA: วิธีคัดลอกเส้นที่มองเห็นไปยังแผ่นงานอื่น
VBA: คัดลอกแถวไปยังแผ่นงานอื่นตามเกณฑ์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *