Note: The other languages of the website are Google-translated. Back to English

จะลบแถวทั้งหมดได้อย่างไรถ้าเซลล์มีศูนย์ใน Excel

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

ลบแถวถ้าเซลล์มีศูนย์ด้วยฟังก์ชันตัวกรองใน Excel
ลบแถวถ้าเซลล์มีศูนย์ด้วย VBA ใน Excel
ลบแถวถ้าเซลล์มีศูนย์ด้วย Kutools for Excel


ลบแถวถ้าเซลล์มีศูนย์ด้วยฟังก์ชันตัวกรองใน Excel

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

1. เลือกเซลล์คอลัมน์ที่มีค่าศูนย์ที่คุณต้องการลบทั้งแถวตามจากนั้นคลิก ข้อมูล > กรอง. ดูภาพหน้าจอ:

2. จากนั้นลูกศรดรอปดาวน์จะแสดงในเซลล์แรกของคอลัมน์ที่เลือกคลิกลูกศรจากนั้นเลือก ตัวกรองตัวเลข > เท่ากับ จากรายการแบบหล่นลง

doc ลบถ้าเป็นศูนย์ 1

3 ใน ตัวกรองอัตโนมัติที่กำหนดเอง กล่องโต้ตอบป้อนหมายเลข 0 ลงในช่องข้อความตามภาพด้านล่างที่แสดงจากนั้นคลิกที่ไฟล์ OK ปุ่ม

doc ลบถ้าเป็นศูนย์ 1

4. จากนั้นเซลล์ค่าศูนย์ทั้งหมดในคอลัมน์บางคอลัมน์นี้จะถูกกรองออก โปรดเลือกเซลล์ที่มองเห็นได้ทั้งหมดในช่วงตัวกรองและคลิกขวาที่เซลล์เหล่านั้นเลือก ลบแถว จากเมนูคลิกขวา และในกล่องพรอมต์ป๊อปอัพให้คลิกไฟล์ OK ปุ่ม. ดูภาพหน้าจอ:

doc ลบถ้าเป็นศูนย์ 1

5. ตอนนี้แถวที่มองเห็นทั้งหมดจะถูกลบ คุณสามารถคลิก ข้อมูล > กรอง อีกครั้งเพื่อแสดงข้อมูลทั้งหมดโดยไม่มีเซลล์ค่าเป็นศูนย์ ดูภาพหน้าจอ:

doc ลบถ้าเป็นศูนย์ 1


ลบแถวทั้งหมดได้อย่างง่ายดายหากมีค่าเป็นศูนย์ในช่วงหนึ่งใน Excel:

Kutools สำหรับ Excel's เลือกเซลล์เฉพาะ ยูทิลิตี้ช่วยให้คุณเลือกแถวทั้งหมดได้อย่างง่ายดายหากมีค่าศูนย์อยู่ในช่วงหนึ่งจากนั้นคุณสามารถลบแถวที่เลือกทั้งหมดด้วยตนเองได้อย่างรวดเร็วโดยไม่ผิดพลาด
ดาวน์โหลดและทดลองใช้ทันที! (30เส้นทางฟรีวัน)


ลบแถวถ้าเซลล์มีศูนย์ด้วย VBA ใน Excel

ส่วนนี้จะแสดงวิธี VBA เพื่อลบแถวทั้งหมดหากมีค่าเป็นศูนย์ในคอลัมน์ใดคอลัมน์หนึ่งใน Excel

1 กด Alt + F11 พร้อมกันเพื่อแสดงไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. ในหน้าต่าง Microsoft Visual Basic for Applications คลิก สิ่งที่ใส่เข้าไป > โมดูลจากนั้นคัดลอกและวางโค้ด VBA ต่อไปนี้ลงในหน้าต่างโมดูล

VBA: ลบทั้งแถวหากมีค่าเป็นศูนย์ในช่วงคอลัมน์บางช่วงในแผ่นงาน

Sub DeleteZeroRow () 'Updateby20140616 Dim Rng As Range Dim WorkRng เป็น Range On Error Resume ถัดไป xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type: = 8 ) Application.ScreenUpdating = False Do Set Rng = WorkRng.Find ("0", LookIn: = xlValues) If Not Rng Is nothing then Rng.EntireRow.Delete End If Loop while Not Rng Is Nothing Application.ScreenUpdating = True End Sub

3 กด F5 คีย์เพื่อเรียกใช้รหัสในป๊อปอัป KutoolsforExcel กล่องโต้ตอบเลือกช่วงคอลัมน์ที่คุณต้องการลบทั้งแถวโดยยึดตามค่าศูนย์ภายในจากนั้นคลิกไฟล์ OK ปุ่ม. ดูภาพหน้าจอ:

doc ลบถ้าเป็นศูนย์ 1

จากนั้นแถวทั้งหมดที่ยึดตามค่าศูนย์ในช่วงคอลัมน์ที่ระบุจะถูกลบทันที

doc ลบถ้าเป็นศูนย์ 1


ลบแถวถ้าเซลล์มีศูนย์ด้วย Kutools for Excel

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

ก่อนที่จะใช้ Kutools สำหรับ Excelโปรด ดาวน์โหลดและติดตั้งในตอนแรก.

1. เลือกช่วงคอลัมน์ที่คุณจะลบแถวทั้งหมดตามค่าศูนย์ภายในจากนั้นคลิก Kutools > เลือก > เลือกเซลล์เฉพาะ. ดูภาพหน้าจอ:

2 ใน เลือกเซลล์เฉพาะ คุณต้อง:

(1) เลือกไฟล์ ทั้งแถว ตัวเลือกใน ประเภทการเลือก มาตรา.

(2) เลือก เท่ากับ ในครั้งแรก ประเภทเฉพาะ รายการแบบเลื่อนลงจากนั้นป้อนหมายเลข 0 ลงในกล่องข้อความ

(3) คลิกไฟล์ OK ปุ่ม

3. กล่องโต้ตอบจะปรากฏขึ้นเพื่อบอกจำนวนแถวที่เลือกคลิกที่ OK ปุ่ม. ตอนนี้แถวทั้งหมดที่มีค่าเป็นศูนย์มีอยู่ในช่วงคอลัมน์ที่ระบุจะถูกเลือก กรุณาคลิกขวาที่แถวที่เลือกจากนั้นคลิก ลบ ในเมนูคลิกขวา ดูภาพหน้าจอ:

doc ลบถ้าเป็นศูนย์ 1

ตอนนี้แถวทั้งหมดที่มีค่าเป็นศูนย์อยู่ในคอลัมน์ที่ระบุจะถูกลบทันที ดูภาพหน้าจอ:

doc ลบถ้าเป็นศูนย์ 1

  หากคุณต้องการทดลองใช้ฟรี (30วัน) ของโปรแกรมอรรถประโยชน์นี้ กรุณาคลิกเพื่อดาวน์โหลดแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น


ลบแถวถ้าเซลล์มีศูนย์ด้วย Kutools for Excel


บทความญาติ:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (15)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่คือเครื่องช่วยชีวิต!!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัส VB ​​ของคุณไม่ทำงาน มันจะลบแถวทั้งหมดที่มีศูนย์ในตำแหน่ง 10s ฉันหวังว่าไม่มีใครใช้สิ่งนี้จริง ๆ เพราะพวกเขาจะลบข้อมูล ...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันแก้ไขโค้ดด้านบนเพื่อให้ใช้งานได้ ฉันต้องการลบทุกแถวที่มี "ลบ" ในแถว C. Sub Delete_DeleteRows() Set WorkRng = Range("C2:C12000") Application.ScreenUpdating = False Do Set Rng = WorkRng.Find("Delete", LookIn:= xlValues) ถ้าไม่ใช่ Rng ก็คือไม่มีอะไร จากนั้น Rng.EntireRow.Delete End ถ้าวนซ้ำในขณะที่ไม่ใช่ Rng ก็ไม่มีอะไรเป็น Application.ScreenUpdating = True End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันแก้ไขรหัสด้านล่างเพื่อให้ใช้งานได้สำหรับฉัน สิ่งนี้จะลบทุกแถวในคอลัมน์ C ที่มี "Delete" ในเซลล์ของคอลัมน์ C. Sub Delete_DeleteRows() Set WorkRng = Range("C2:C12000") Application.ScreenUpdating = False Do Set Rng = WorkRng.Find("Delete" , LookIn:=xlValues) ถ้าไม่ใช่ Rng ก็คือไม่มีอะไร จากนั้น Rng.EntireRow.Delete End ถ้าวนซ้ำในขณะที่ไม่ใช่ Rng ก็ไม่มีอะไรเป็น Application.ScreenUpdating = True End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับการตอบสนอง ทำงานให้ฉัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
มันใช้งานได้สำหรับฉัน ขอบคุณมาก
ถ้าฉันมีหลายแผ่น? ฉันจะรันสคริปต์ 1 ครั้งสำหรับชีตทั้งหมดได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แก้ไขเพื่อจุดประสงค์ของฉัน ขอขอบคุณสำหรับความช่วยเหลือของคุณ: Sub DeleteZeroRow() Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "" Application.Calculation = xlManual MsgBox "Set the range you want to remove the unused 0 quantity แถวจาก" Set WorkRng = Application.InputBox("Range", xTitleId, "FG93:FG500", Type:=8) Application.ScreenUpdating = False Sheets("ENTRY") เลือก Do Set Rng = WorkRng.Find("0 ", LookIn:=xlValues) ถ้าไม่ใช่ Rng ก็คือไม่มีอะไร จากนั้น Rng.EntireRow.Delete End ถ้าลูปขณะที่ไม่ใช่ Rng นั้นไม่มีอะไรเป็น Application.ScreenUpdating = True Range("FF92") เลือก Selection.End(xlDown).Select MsgBox "ถูกลบ ROWS ของ 0 จากคอลัมน์ FG กำลังคำนวณอยู่ โปรดรอสักครู่" Application.Calculation = xlAutomatic End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันต้องการรหัสเพื่อซ่อนแถวที่มีค่า=0 ในคอลัมน์ "N" ในชีต 1 ค่าของคอลัมน์ "N" จะเปลี่ยนไปเมื่ออัปเดตรายละเอียดในชีต 2 นั่นคือเวลา ต้องยกเลิกการซ่อนแถว สามารถทำได้ด้วยสูตร Excel (ไม่มีมาโครและตัวกรอง Excel)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้ไม่ได้ผลสำหรับฉัน มันเปลี่ยนค่าทั้งหมดในคอลัมน์ที่ฉันเลือกและคอลัมน์ที่อยู่ติดกันเป็นศูนย์ ฉันคงทำอะไรไม่ถูก!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เชอรี่
รหัสทำงานได้ดีในกรณีของฉัน คุณใช้ Excel เวอร์ชันใด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคริสตัล ฉันโพสต์เมื่อสองปีที่แล้วดังนั้นฉันเดาว่าฉันคิดออก แต่ขอบคุณสำหรับคำตอบ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แทรกสิ่งนี้ในโมดูล VB ใหม่
นี่คือกับ InputBox เพื่อลบแถวที่มีคำนั้น

แอตทริบิวต์ VB_Name = "FindDelRowByWord"
ค้นหาย่อยDelRow()
'Updateby20140616
Dim Rng เป็นช่วง
Dim WorkRng เป็นช่วง
Dim xRep เป็นสตริง
เกี่ยวกับข้อผิดพลาดต่อไป
xTitleId = "เครื่องมือ ZOK"
ตั้งค่า WorkRng = Application.Selection
ตั้งค่า WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRep = Application.InputBox("คำที่จะลบแถว:", "เครื่องมือ ZOK", , , , , , 2)
Application.ScreenUpdating = เท็จ
Do
ตั้งค่า Rng = WorkRng.Find(xRep, LookIn:=xlValues)
ถ้าไม่ใช่ Rng ก็ไม่มีอะไรแล้ว
Rng.EntireRow.Delete
End If
วนซ้ำในขณะที่ไม่ Rng คือไม่มีอะไร
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
จะเป็นอย่างไรถ้าคุณมีแผ่นงานขนาดใหญ่ และมีแถวที่คุณต้องการเก็บไว้ และแถวอื่นๆ ที่มีคำสำคัญบางคำและลบออก kutools ใช้งานได้สำหรับฉัน แต่สำหรับคำหลักหนึ่งคำที่หลายแถวมีคำหลักนั้น แถวนั้นถูกลบ ฉันแค่ต้องการมีคำหลักหลายคำให้ทำแบบเดียวกันหรือไม่ สิ่งนี้ใช้ได้กับรหัสด้านบนหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอให้เป็นวันที่ดี,
Kutools สามารถจัดการกับคำสำคัญสองคำได้ในเวลาเดียวกัน คุณต้องเปิดใช้งานเงื่อนไขที่สองด้วย "และ" หรือ "หรือ" หวังว่าฉันสามารถช่วย
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Despues de utilizar subtotal Como hacer para eliminar las filas involucradas que en el ผลรวมย่อย es igual a 0?
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL