วิธีการลบช่วงที่ตั้งชื่อโดยใช้ 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: คัดลอกแถวไปยังแผ่นงานอื่นตามเกณฑ์