สารบัญ
หากคุณกำลังมองหาวิธีที่ง่ายที่สุดในการลบแถวโดยใช้ VBA แสดงว่าคุณมาถูกที่แล้ว
มาเจาะลึกบทความหลักกัน
ดาวน์โหลดสมุดงาน
VBA Delete Row.xlsm
14 วิธีในการลบแถวโดยใช้ VBA
ที่นี่ ฉันมีสามข้อมูล ตารางแสดงวิธีการลบแถวโดยใช้ VBA ตารางแรกประกอบด้วย ผลิตภัณฑ์ ของบริษัทและ ขนาด , ราคา ของบริษัท
ตารางที่สอง หนึ่งมี รหัสผลิตภัณฑ์ และ ขนาดผลิตภัณฑ์ และ ราคา
ที่เกี่ยวข้อง และอันสุดท้ายประกอบด้วย ชื่อโครงการ และ วันที่เริ่มต้น และ ค่าใช้จ่าย บางส่วน
สำหรับการสร้างบทความ ฉัน เคยใช้เวอร์ชัน Microsoft Excel 365 คุณสามารถใช้เวอร์ชันอื่นตามความสะดวกของคุณ
วิธีที่ 1: ลบแถวเดียวโดยใช้ VBA
สมมติว่าคุณ ต้องการลบแถวที่มี ผลิตภัณฑ์ รองเท้า 1, และหากต้องการลบแถวเดียวนี้ คุณสามารถทำตามวิธีนี้ได้
ขั้นตอน-01 :
➤ไปที่ นักพัฒนา แท็บ>> Visual Basic ตัวเลือก
จากนั้น Visual Basic Editor จะเปิดขึ้น
➤ไปที่ แทรก แท็บ>> โมดูล ตัวเลือก
หลังจากนั้น โมดูล จะถูกสร้างขึ้น
ขั้นตอนที่ 02 :
➤เขียนฟอล ลดรหัส
1294
ที่นี่ “เดี่ยว” คือการรวมกันของหลายช่วงที่สอดคล้องกับเซลล์ที่มีวันที่ 11/12/2021 และสุดท้าย ช่วงจะถูกลบ
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะลบแถวที่มีวันที่แน่นอนเป็น 11/12/2021 .
เนื้อหาที่เกี่ยวข้อง: Excel VBA เพื่อลบแถวที่มีข้อมูลเฉพาะ (9 ตัวอย่าง)
แนวทางปฏิบัติ ส่วน
สำหรับการฝึกฝนด้วยตัวเอง เราได้เตรียมส่วน แบบฝึกหัด ไว้ด้านล่างในชีตที่ชื่อ แบบฝึกหัด โปรดทำด้วยตัวเอง
สรุป
ในบทความนี้ ฉันพยายามครอบคลุมวิธีที่ง่ายที่สุดในการใช้ VBA อย่างมีประสิทธิภาพสำหรับ การลบแถว หวังว่าคุณจะพบว่ามีประโยชน์ หากคุณมีข้อเสนอแนะหรือคำถามใดๆ โปรดแบ่งปันในส่วนความคิดเห็น
ชื่อแผ่นงาน และ แถว(7)จะเลือกหมายเลขแถว.EntireRow.Delete จะลบทั้งแถว 7
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะลบแถวที่มี ผลิตภัณฑ์ ชื่อ รองเท้า 1 .
อ่านเพิ่มเติม: วิธีลบแถวใน Excel: 7 วิธีการ
วิธีที่ 2: ลบหลายแถวโดยใช้ VBA
ถ้าคุณต้องการลบหลายแถว เช่น แถวที่มี ผลิตภัณฑ์ ชื่อ Shoe1 , Shoe2, และ Shoe3 จากนั้นคุณสามารถทำตามโค้ด VBA นี้
Step-01 :
➤ทำตาม Step-01 ของ Method-1
9610
ที่นี่ หมายเลขแถว 13, 10 , และ 7 จะถูกลบออก และในการเขียนหมายเลขแถวตามลำดับ คุณต้องเขียนจากหมายเลขแถวสุดท้ายไปยังหมายเลขแถวแรกเหมือนรหัสนี้
มิฉะนั้น หลังจากลบแถวแรกเช่นแถวที่ 7 แล้ว ที่เหลือ แถวที่อยู่ใต้แถวนี้จะเลื่อนขึ้นหนึ่งแถว ดังนั้น แถวที่ 10 จะเป็นแถวที่ 9 และแถวที่ 13 จะเป็นแถวที่ 12 สำหรับการรีนี้ คุณจะไม่สามารถลบแถวที่ถูกต้องได้
➤กด F5
ผลลัพธ์ :
จากนั้น คุณจะลบแถวที่มีชื่อ Product Shoe 1 , Shoe2, และ Shoe3
อ่านเพิ่มเติม: วิธีลบหลายแถวใน Excel (3 วิธี)
วิธีที่ 3 : การลบแถวโดยเลือก
ในที่นี้ ผมจะแสดงวิธีการลบแถวเกี่ยวกับเซลล์ที่ใช้งานอยู่ของแถวนั้น
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ วิธีที่ 1
7288
จะลบแถวที่มีเซลล์ที่ใช้งานอยู่
➤บันทึกโค้ด
Step-02 :
➤เลือกเซลล์ใดก็ได้ในแถวที่คุณต้องการลบ ( ในที่นี้ฉันได้เลือกเซลล์ B7 )
➤ไปที่ นักพัฒนา แท็บ>> มาโคร ตัวเลือก
หลังจากนั้น มาโคร วิซาร์ดจะเปิดขึ้น
➤เลือก ชื่อมาโคร dltrow3 แล้วกด เรียกใช้
<3
ผลลัพธ์ :
หลังจากนั้น คุณจะลบแถวที่มีชื่อ ผลิตภัณฑ์ รองเท้า 1 .
วิธีที่ 4: การลบแถวทั้งหมดในส่วนที่เลือก
สำหรับการลบแถวทั้งหมดในส่วนที่เลือก คุณสามารถทำตามวิธีนี้ได้
ขั้นตอน-01 :
➤ติดตาม ขั้นตอน-01 ของ วิธีการ-1
8716
มัน จะลบแถวทั้งหมดของการเลือก
➤บันทึกรหัส
Step-02 :
➤เลือกช่วงของแถวที่คุณต้องการลบ (ที่นี่ ฉันได้เลือกช่วง B7:D9 )
➤ไปที่ นักพัฒนาซอฟต์แวร์ แท็บ>> มาโคร ตัวเลือก
<0หลังจากนั้น มาโคร วิซาร์ดจะเปิดขึ้น
➤เลือก ชื่อมาโคร dltrow4 และกด เรียกใช้
ผลลัพธ์ :
จากนั้น คุณจะลบแถวที่มี ผลิตภัณฑ์ ชื่อ รองเท้า 1 , Jacket1, และ Jacket2 .
อ่านเพิ่มเติม: วิธีลบแถวที่เลือกใน Excel(8 วิธี)
วิธีที่ 5: การลบแถวหากเซลล์ใดว่าง
ที่นี่ ฉันมีเซลล์ว่างซึ่งก็คือ B9 (ฉันได้ลบค่าออกจากเซลล์นี้สำหรับสิ่งนี้ วิธีการ) และใช้รหัส VBA ฉันจะลบแถวที่มีเซลล์ B9
ขั้นตอนที่-01 :
➤ทำตาม ขั้นตอนที่ 01 ของ วิธีที่ 1
6399
จะเป็นการลบแถวทั้งหมดในช่วง “B5:D13” มีเซลล์ว่างอยู่
➤กด F5
ผลลัพธ์ :
จากนั้น คุณจะสามารถลบแถวที่มีเซลล์ว่างได้
อ่านเพิ่มเติม: วิธีลบแถวว่างใน Excel (11 วิธี)
วิธีที่ 6: การลบแถวถ้าทั้งแถวว่างเปล่า
ที่นี่ ฉันมีเซลล์ว่างซึ่ง B9 (ฉันได้ลบค่าสำหรับวิธีนี้แล้ว) และแถวว่างซึ่งเป็นแถวที่ 12 (ฉันได้ลบค่าสำหรับวิธีนี้แล้ว) และใช้โค้ด VBA และ ฟังก์ชัน COUNTA ฉันจะลบแถวที่ว่างเปล่า
Step-01 :
➤Follow Step-01 ของ เมธอด-1
6411
“B5:D13” คือช่วงข้อมูล และ FOR ลูปจะทำงานสำหรับทุกเซลล์ใน ช่วงนี้
CountA(cell.EntireRow) จะส่งกลับจำนวนเซลล์ที่ไม่ว่าง และเมื่อกลายเป็น 0 แถวจะถูกลบ
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะสามารถลบแถวที่ว่างได้ แต่จะไม่ลบแถวที่มีทั้งหมด เซลล์ของแถวนี้ว่างเปล่า
อ่านเพิ่มเติม: วิธีใช้ VBA เพื่อลบแถวว่างใน Excel
วิธีที่ 7: การลบทุกๆ แถวที่ n
คุณสามารถลบทุกๆ แถวที่ n (ในกรณีนี้คือทุกๆ แถวที่ 3) โดยทำตามวิธีนี้
<0 ขั้นตอน-01:
➤ติดตาม ขั้นตอน-01 ของ วิธีการ-1
1532
“B5 :D13” คือช่วงข้อมูล และ rc จะส่งกลับจำนวนแถวทั้งหมดของช่วงนี้ ซึ่งก็คือ 9 .
ในที่นี้ FOR การวนซ้ำจะเริ่มจากแถวสุดท้ายซึ่งเป็น rc หรือ 9 ในกรณีนี้และสิ้นสุดด้วยแถวแรก
ขั้นตอนที่ -3 จะช่วยลบทุกแถว ที่ 3 ในช่วงนี้
➤กด F5
ผลลัพธ์ :
จากนั้น คุณจะลบแถวที่มีชื่อ ผลิตภัณฑ์ Shoe 1 , Shoe2, และ Shoe3 .
อ่านเพิ่มเติม: วิธีลบทุกๆ R ที่ n ใน Excel (6 วิธีที่ง่ายที่สุด)
การอ่านที่คล้ายกัน:
- วิธีลบแถวที่เลือกด้วย Excel VBA (ขั้นตอน- คำแนะนำทีละขั้นตอน)
- ลบแถวที่ไม่ได้ใช้ใน Excel (8 วิธีง่ายๆ)
- วิธีการลบแถวที่ซ่อนอยู่ใน Excel (3 วิธี)
- ลบแถวที่ไม่สิ้นสุดใน Excel (5 วิธีง่ายๆ)
- วิธีลบแถวใน Excel ที่ดำเนินไปตลอดกาล (4 ง่ายๆวิธี)
วิธีที่ 8: การลบแถวตามค่าเซลล์
ในวิธีนี้ ฉันจะลบแถวที่มีค่าเฉพาะ เสื้อเชิ้ต 2 .
Step-01 :
➤ทำตาม Step-01 ของ Method- 1
4780
“B5:D13” คือช่วงข้อมูลและลูป FOR จะทำงานสำหรับทุกเซลล์ในช่วงนี้
หากเซลล์ใดในแถวมีค่า “เสื้อเชิ้ต 2” แถวนั้นจะถูกลบ
➤กด F5<2
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะลบแถวที่มีชื่อ ผลิตภัณฑ์ เสื้อตัวที่ 2 .
อ่านเพิ่มเติม: แมโคร VBA เพื่อลบแถวหากเซลล์มีค่าใน Excel (2 วิธี)
วิธีที่ 9: การลบแถวที่ซ้ำกัน
ที่นี่ ฉันมีสองแถวที่มี รหัสผลิตภัณฑ์ 97375 และฉันต้องการลบแถวใดแถวหนึ่งที่มีเครื่องหมาย กล่องสีแดงด้านล่าง
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ วิธีที่ 1
2581
ที่นี่ “B5:D13” คือช่วงข้อมูลและ คอลัมน์:=1 ฉัน ตอบ มันจะค้นหาค่าที่ซ้ำกันเฉพาะในคอลัมน์เดียวซึ่งเป็นคอลัมน์เริ่มต้น คอลัมน์ B แต่ถ้าคุณต้องการค้นหาในคอลัมน์อื่นด้วย คุณสามารถใช้ตัวเลขนี้ตามความต้องการ
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะสามารถลบแถวที่เป็น คล้ายกับแถวอื่น
อ่านเพิ่มเติม: วิธีลบแถวที่ซ้ำกันในExcel พร้อม VBA (8 วิธีที่มีประสิทธิภาพ)
วิธีที่ 10: การลบแถวในตาราง
สมมติว่า คุณมีตารางต่อไปนี้ที่ชื่อ Table1 และ ตอนนี้คุณต้องการลบแถวหมายเลข 6 ของตารางนี้ ในการทำเช่นนี้ คุณสามารถทำตามวิธีนี้ได้
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ เมธอด-1
8490
ที่นี่ “ตาราง” คือชื่อแผ่นงาน “ตาราง 1” คือชื่อตาราง และ 6 คือหมายเลขแถวของตารางที่คุณต้องการลบ
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะลบแถวที่คุณต้องการในตารางนี้
อ่านเพิ่มเติม: วิธีลบแถวที่ซ้ำกันตามคอลัมน์เดียวโดยใช้ Excel VBA
วิธีที่ 11: การลบแถวที่มองเห็นได้หลังจากการกรอง
ที่นี่ ฉันมีตารางข้อมูลที่กรองโดย คอลัมน์ ราคา สำหรับค่าที่มากกว่า $1,500.00 และฉันต้องการลบแถวที่มองเห็นทั้งหมดหลังจากการกรอง
ขั้นตอน-01 :
➤ติดตาม ขั้นตอน-01 ของ วิธีการ-1
1933
ที่นี่ “B5: D13” คือช่วงข้อมูล
➤กด F5
ตอนนี้ แถวที่มองเห็นทั้งหมดหลังจากการกรองจะ ถูกลบ ตอนนี้คุณสามารถนำแถวที่ซ่อนอยู่กลับมาได้โดยเลือกเครื่องหมาย ตัวกรอง ในคอลัมน์ ราคา
➤คลิกที่ไอคอน เลือกทั้งหมด ตัวเลือก
➤กด ตกลง
ผลลัพธ์ :
สุดท้าย คุณจะได้แถวที่ซ่อนอยู่กลับเข้ามาตารางข้อมูล
อ่านเพิ่มเติม: วิธีกรองและลบแถวด้วย VBA ใน Excel (2 วิธี)
วิธีที่ 12: การลบแถวตามเซลล์ที่ใช้งานล่าสุด
ที่นี่ เซลล์ที่ใช้งานล่าสุดของฉันคือเซลล์ B13 และฉันต้องการลบเซลล์ที่มีเซลล์ที่ใช้งานล่าสุดดังต่อไปนี้ ตารางข้อมูล
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ วิธีการ -1
2092
ที่นี่ 2 หมายถึง คอลัมน์ B ที่ฉันมีเซลล์ที่ใช้งานอยู่ คุณสามารถเปลี่ยนตัวเลขได้ตามความต้องการ<3
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะลบ แถวที่ใช้งานล่าสุด
อ่านเพิ่มเติม: โค้ด Excel VBA เพื่อลบแถวตามค่าหลายเซลล์ (3 เกณฑ์)
วิธีที่ 13: การลบแถวที่มีสตริงใดๆ
สมมติว่าคุณต้องการลบแถวที่มีสตริงใดๆ และทำตามวิธีนี้ได้
<64
ขั้นตอน-01 :
➤ติดตาม ขั้นตอน-01 ของ วิธีการ-1
8597
ที่นี่ “สตริง” คือชื่อแผ่นงาน หมายเลขแถวแรกของช่วงข้อมูลนี้คือ 5 และหมายเลขคอลัมน์เริ่มต้นคือ 2
คำสั่ง ด้วย ช่วยให้คุณระบุวัตถุ หรือประเภทที่ผู้ใช้กำหนดครั้งเดียวสำหรับชุดคำสั่งทั้งหมด
คำสั่ง On Error Resume Next ระบุว่า เมื่อเกิดข้อผิดพลาดรันไทม์ การควบคุมจะไปที่คำสั่งต่อจากคำสั่งโดยที่ เกิดข้อผิดพลาด
LastRow และ LastColumn ส่งกลับแถวและคอลัมน์สุดท้ายของช่วงข้อมูล
SpecialCells(xlCellTypeConstants, xlTextValues) จะเลือกแถวที่มีค่าข้อความใดๆ ใน ช่วง
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะ ลบแถวที่มีสตริงข้อความ
อ่านเพิ่มเติม: ทางลัดของ Excel เพื่อลบแถว (ด้วยเทคนิคโบนัส)
วิธีที่ 14: การลบแถวตามวันที่
ที่นี่ ฉันจะลบแถวที่มีวันที่พิเศษ 11/12/2021 (ดด/วว/ปปปป) ในนี้ วิธีการใช้ ฟังก์ชัน DATEVALUE .
Step-01 :
➤Follow Step- 01 ของ เมธอด-1
5393
ที่นี่ “วันที่” คือชื่อแผ่นงาน หมายเลขแถวแรกของช่วงข้อมูลนี้คือ 5 และคอลัมน์เกณฑ์ (ซึ่งคอลัมน์มีวันที่) หมายเลขคือ 3
คำสั่ง ด้วย ช่วยให้คุณระบุวัตถุหรือประเภทที่ผู้ใช้กำหนดได้เพียงครั้งเดียว สำหรับชุดคำสั่งทั้งหมด
คำสั่ง On Error Resume Next ระบุว่า เมื่อเกิดข้อผิดพลาดรันไทม์ การควบคุมจะไปที่คำสั่งตามหลังคำสั่งที่เกิดข้อผิดพลาด
LastRow ส่งกลับแถวสุดท้ายของช่วงข้อมูล และที่นี่ FOR การวนซ้ำจะเริ่มต้นจากแถวสุดท้ายซึ่งเป็น แถวสุดท้าย หรือ 6 ในกรณีนี้ และสิ้นสุดด้วยแถวแรก
DATEVALUE จะแปลงข้อความวันที่เป็นค่า
ที่นี่ Union จะส่งกลับค่า