Excel VBA เพื่อล้างเนื้อหาของช่วง (3 กรณีที่เหมาะสม)

  • แบ่งปันสิ่งนี้
Hugh West

หากคุณกำลังค้นหาวิธีแก้ปัญหาหรือเทคนิคพิเศษเพื่อ ล้างเนื้อหาของช่วงด้วย Excel VBA แสดงว่าคุณมาถูกที่แล้ว มีขั้นตอนง่ายๆ ในการ ล้างเนื้อหาของช่วงด้วย Excel VBA บทความนี้จะแสดงให้คุณเห็นทุกขั้นตอนพร้อมภาพประกอบที่เหมาะสม เพื่อให้คุณสามารถนำไปใช้ตามวัตถุประสงค์ของคุณได้อย่างง่ายดาย มาเข้าสู่ส่วนกลางของบทความกัน

ดาวน์โหลดแบบฝึกหัด

คุณสามารถดาวน์โหลดแบบฝึกหัดได้จากที่นี่:

ล้างเนื้อหาของช่วง .xlsm

ล้างเนื้อหาของช่วงด้วย Excel VBA: 3 กรณี

สมมติว่า คุณมีชุดข้อมูลที่คุณอาจต้องการใช้ซ้ำเพื่อล้างเซลล์ที่มีอยู่ ดังนั้น คุณสามารถใช้รหัส VBA เพื่อล้างเนื้อหาของไฟล์ Excel ในส่วนนี้ ฉันจะแสดงวิธีที่ง่ายและรวดเร็วในการ ล้างเนื้อหาของช่วงด้วย Excel VBA บนระบบปฏิบัติการ Windows คุณจะพบคำอธิบายโดยละเอียดพร้อมภาพประกอบที่ชัดเจนของแต่ละสิ่งในบทความนี้ ฉันใช้ เวอร์ชัน Microsoft 365 ที่นี่ แต่คุณสามารถใช้เวอร์ชันอื่น ๆ ตามความพร้อมของคุณ หากบทความนี้ใช้ไม่ได้กับเวอร์ชันของคุณ โปรดแสดงความคิดเห็นให้เราทราบ

กรณีที่ 1: ล้างเนื้อหาทั้งหมดของช่วง

คุณสามารถใช้ ทั้งคำสั่งล้างและคำสั่งลบเพื่อล้างเนื้อหาของช่วงที่ระบุในเวิร์กชีตปัจจุบันหรือเวิร์กชีตอื่นๆ แม้แต่จากเวิร์กบุ๊กอื่นด้วย ฉันจะแสดงให้คุณเห็นทีละกรณี

i. ล้างเนื้อหาของช่วงเซลล์ที่ระบุ

หากคุณต้องการล้างเนื้อหาของช่วงที่ระบุ ให้ทำตามขั้นตอนด้านล่าง:

📌 ขั้นตอน:

  • สำหรับสิ่งนี้ ขั้นแรก ให้ไปที่ริบบิ้นด้านบนแล้วกด นักพัฒนาซอฟต์แวร์ จากนั้นกดที่ตัวเลือก Visual Basic จากเมนู
  • คุณ สามารถใช้ ALT + F11 เพื่อเปิดหน้าต่าง “Microsoft Visual Basic for Applications” หากคุณไม่ได้เพิ่มแท็บนักพัฒนาไว้

  • ตอนนี้ หน้าต่างชื่อ “Microsoft Visual Basic for Applications” จะปรากฏขึ้น จากแถบเมนูด้านบน กดปุ่ม “แทรก” แล้วเมนูจะปรากฏขึ้น จากนั้นเลือก “โมดูล'” ตัวเลือก

  • ตอนนี้ “โมดูล” <2 ใหม่>หน้าต่างจะปรากฏขึ้น และ วาง โค้ด VBA นี้ลงในช่อง

ใช้คำสั่ง Clear:

2003

  • หากต้องการรันโค้ด ให้ไปที่เมนูด้านบน กดที่ตัวเลือก เรียกใช้ และที่นี่จะเปิดตัวเลือกอื่นๆ และ เลือก ตัวเลือก เรียกใช้ Sub/UserForm นอกจากนี้ คุณสามารถกด F5 เพื่อเรียกใช้โค้ด

  • โดยใช้คำสั่ง ล้าง เซลล์จะถูกล้างและการจัดรูปแบบก็จะถูกลบด้วย แต่เซลล์ว่างจะอยู่ที่นั่น

การใช้คำสั่งลบ:

คุณยังสามารถใช้ปุ่ม ลบคำสั่ง แทนคำสั่ง ล้าง จากนั้นวางโค้ดต่อไปนี้ในโมดูล

8408

การใช้คำสั่ง Delete เมื่อคุณเรียกใช้โค้ด ช่วงของเซลล์ที่เลือกจะถูก ลบออก โดยสมบูรณ์

อ่านเพิ่มเติม: Excel VBA: ล้างเนื้อหาหากเซลล์มีค่าเฉพาะ

ความแตกต่างระหว่าง คำสั่งล้างและลบใน Excel VBA:

ความแตกต่างที่สำคัญระหว่างคำสั่ง ล้าง และ ลบ ใน Excel VBA คือ ลบ คำสั่ง ลบ ช่วงของเซลล์ที่เลือกทั้งหมด และคำสั่ง Clear จะลบเฉพาะค่าของเซลล์และการจัดรูปแบบ แต่เซลล์ว่างจะอยู่ที่นั่น

ii. ล้างเนื้อหาของแผ่นงานทั้งหมด

ถ้าคุณต้องการล้างเซลล์ทั้งหมดของแผ่นงาน ให้ใช้รหัสนี้ที่ระบุด้านล่าง ฉันกำลังเคลียร์เนื้อหาจากใบงานชื่อ “1.2” คุณต้อง แทรก ชื่อ ของ แผ่นงาน ที่คุณต้องการล้างในเครื่องหมายจุลภาค

2971

นอกจากนี้ คุณสามารถใช้คำสั่ง ลบ เพื่อลบเซลล์ที่ใช้ทั้งหมดในแผ่นงาน จากนั้นคุณต้องใช้รหัสที่ระบุด้านล่าง เพียงเปลี่ยนชื่อแผ่นงานในเครื่องหมายจุลภาคกลับหัว

3377

iii. ล้างเนื้อหาของแผ่นงานที่ใช้งานอยู่

บางครั้ง คุณอาจต้องล้างเฉพาะเนื้อหาของแผ่นงานที่ใช้งานอยู่เท่านั้น ในกรณีนี้ คุณต้องใช้รหัสอย่างง่ายที่ระบุด้านล่าง:

3464

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

Sub Delete_Contents_Range()

ActiveSheet.Cells.Delete

End Sub

อ่านเพิ่มเติม: ความแตกต่างระหว่างการลบและการล้างเนื้อหาใน Excel

กรณีที่ 2: การล้างเนื้อหาของช่วงโดยคงการจัดรูปแบบไว้

ในวิธีการก่อนหน้านี้ คุณสังเกตเห็นว่าคุณกำลังลบ ค่าของเซลล์ตามการจัดรูปแบบเซลล์ด้วย ดังนั้น หากคุณต้องการ ลบค่าเซลล์ออกเท่านั้นในขณะที่รักษาการจัดรูปแบบ เหมือนเดิม

i. เนื้อหาของช่วงที่ระบุ

คุณสามารถใช้คำสั่ง ClearContents ใน Excel VBA เพื่อล้างเนื้อหาของช่วงที่ต้องการ สำหรับสิ่งนี้ ให้วางโค้ดต่อไปนี้ลงในโมดูล

8825

ดังนั้น เมื่อคุณรันโค้ด คุณจะเห็นเซลล์ที่เลือกถูกล้างแต่รูปแบบยังคงอยู่ .

อ่านเพิ่มเติม: วิธีล้างเซลล์ที่มีค่าแน่นอนใน Excel (2 วิธี)

ii. เนื้อหาของแผ่นงานเฉพาะ

เมื่อคุณต้องการล้างเนื้อหาของแผ่นงานเฉพาะโดยที่ยังรักษารูปแบบเดิมไว้ คุณต้องใช้รหัสต่อไปนี้ด้านล่าง:

1737

🔎 คำอธิบายโค้ด VBA:

  • เวิร์กชีต(“2.2”) กำลังเรียกเวิร์กชีตชื่อ “2.2” ถ้า คุณต้องการเรียกแผ่นงานเป็นชื่ออื่น จากนั้นให้ใส่ชื่อแผ่นงานในเครื่องหมายจุลภาคกลับหัว
  • และ Range(“B2:D4”) เป็นการระบุช่วงของ เซลล์ที่จะถูกล้าง คุณสามารถแก้ไขช่วงเซลล์ได้ตามความต้องการ

iii. เนื้อหาจากสมุดงานอื่น

คุณยังสามารถ ล้าง เนื้อหา ของ สมุดงานอื่น โดยใช้โค้ด VBA แต่สำหรับสิ่งนี้ คุณต้อง เปิด สมุดงานนั้น เปิดอยู่ ใช้รหัสต่อไปนี้ด้านล่างสำหรับสิ่งนี้:

1524

🔎 คำอธิบายรหัส VBA:

  • สมุดงาน(“ไฟล์ 1”) กำลังเรียกสมุดงานชื่อ “ไฟล์ 1” ขณะใช้สมุดงาน คุณต้องใส่ชื่อสมุดงานในเครื่องหมายจุลภาคกลับหัว<15
  • แผ่นงาน(“Sheet1”) กำลังเรียกแผ่นงานชื่อ “แผ่นงาน 1” หากต้องการเรียกแผ่นงานอื่น ๆ เพียงใส่ชื่อแผ่นงานแทน “แผ่นงาน 1” ในโค้ดนี้
  • และ ช่วง(“B3:D13”) เป็นการระบุช่วงของเซลล์ที่จะถูกล้าง คุณสามารถแก้ไขช่วงเซลล์ได้ตามต้องการ

อ่านเพิ่มเติม: วิธีล้างเนื้อหาโดยไม่ลบสูตรโดยใช้ VBA ใน Excel

กรณีที่ 3: ล้างเนื้อหาของช่วงเฉพาะของเวิร์กชีตทั้งหมดพร้อมกัน

ถ้าคุณต้องการ ล้าง เนื้อหา ของช่วงเฉพาะของ หลายเวิร์กชีต คุณสามารถทำได้พร้อมกันโดยใช้โค้ด VBA คุณต้องใช้ For loop เพื่อทำงานนี้ วาง รหัสนี้ในโมดูลเพื่อล้างเนื้อหาของช่วง B2:D4 ของแผ่นงานทั้งหมด หากคุณต้องการเปลี่ยนช่วงเซลล์ ให้แก้ไข ที่ 4บรรทัด และใส่ช่วงข้อมูลของคุณ

7206

สิ่งที่ควรจำ

  • การใช้คำสั่ง ล้าง เท่านั้น ล้างค่าและรูปแบบเซลล์
  • ลบ คำสั่งจะลบเซลล์ทั้งหมด
  • ล้างเนื้อหา คำสั่งจะล้างค่าของเซลล์เท่านั้น และ ไม่เปลี่ยนแปลงรูปแบบเซลล์

สรุป

ในบทความนี้ คุณได้พบวิธี ล้างเนื้อหาของช่วงด้วย Excel VBA ฉันหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์ คุณสามารถเยี่ยมชมเว็บไซต์ของเรา ExcelWIKI เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับเนื้อหาเกี่ยวกับ Excel โปรดแสดงความคิดเห็น คำแนะนำ หรือข้อสงสัยหากคุณมีในส่วนความคิดเห็นด้านล่าง

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง