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

จะลบแผ่นงานเปล่าทั้งหมดใน Excel ได้อย่างไร?

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

ลบแผ่นงานเปล่าทั้งหมดด้วยรหัส VBA

ลบแผ่นงานเปล่าทั้งหมดด้วย Kutools for Excel

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ ทำงานร่วมกับ Office 2007-2019 และ 365; รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ

ลูกศรสีฟ้าฟองขวา ลบแผ่นงานเปล่าทั้งหมดด้วยรหัส VBA


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

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

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในหน้าต่างโมดูล

VBA: ลบแผ่นงานเปล่าทั้งหมด

Sub DeleteBlankWorksheets () 'Update 20130830 Dim Ws As Worksheet On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False for each Ws in Application.Worksheets ถ้า Application.WorksheetFunction.CountA (Ws.UsedRange) = 0 จากนั้น Ws.Delete End ถ้า Next Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub

3. จากนั้นกด F5 คีย์และแผ่นงานเปล่าทั้งหมดจะถูกลบพร้อมกัน


ลูกศรสีฟ้าฟองขวา ลบแผ่นงานเปล่าทั้งหมดด้วย Kutools for Excel

หากคุณไม่คุ้นเคยกับรหัส VBA ฉันสามารถแนะนำเครื่องมือง่ายๆให้คุณได้ - Kutools สำหรับ Excelเดียวกันกับที่ ลบแผ่นงานเปล่า คุณสามารถลบแผ่นงานว่างทั้งหมดได้ด้วยคลิกเดียว

Kutools สำหรับ Excel มีเครื่องมือ Excel ที่มีประโยชน์มากกว่า 300 รายการ ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน Get it Now.

เมื่อคุณติดตั้ง Kutools for Excel แล้วโปรดทำตามขั้นตอนต่อไปนี้:

1. คลิก Enterprise > เครื่องมือแผ่นงาน > ลบแผ่นงานเปล่าดูภาพหน้าจอ:

doc-delete-blank-sheets1

2. และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนคุณว่าคุณต้องการลบเวิร์กชีทเปล่าทั้งหมดหรือไม่ดูภาพหน้าจอ:

doc-delete-blank-sheets2

3. จากนั้นคลิก ใช่และแผ่นงานเปล่าถูกลบสำเร็จแล้ว ดูภาพหน้าจอ:

doc-delete-blank-sheets3
-1
doc-delete-blank-sheets4

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


บทความที่เกี่ยวข้อง:

วิธีลบแผ่นงานที่ซ่อนอยู่ใน Excel


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

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

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

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (3)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่พบสมาชิกสาธารณะ 'WorksheetFunction' ในประเภท 'WorkbookClass'
ฉันใช้ Interop.Excel
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Estimado ไม่ se si me pueda ayudar. Tengo esta macro precisamente para กำจัด hojas vacías, pero no logro hacer que funcione al correrla una sola vez, la tengo que ejecutar dos veces para que borre todas las hojas vacías. Que esta fallando para que haga la tarea de borrar ถึง ลาส hojas en una sola corrida

ลามาโครเอส:

ย่อย Buscar_Hojas_Vacías_y_Eliminarlas2()

Dim Nhojas เป็นจำนวนเต็ม
Dim ฉันเป็นจำนวนเต็ม

เกี่ยวกับข้อผิดพลาดต่อไป
Application.ScreenUpdating = เท็จ
Application.DisplayAlerts = เท็จ

Nhojas = ชีตนับ

สำหรับฉัน = 1 ถึง Nhojas

ถ้า WorksheetFunction.CountA(ชีต(i).UsedRange) = 0 และชีต(i).Shapes.Count = 0 แล้ว

ชีต(i).Delete

อื่น
' ณดา
End If
ต่อไปฉัน

เมื่อเกิดข้อผิดพลาด GoTo 0
Application.ScreenUpdating = จริง
Application.DisplayAlerts = จริง

ย่อยสิ้นสุด

Gracias, espero sus แสดงความคิดเห็น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันไม่สามารถพูดภาษาของคุณได้ แต่ฉันเห็นข้อบกพร่องในรหัสของคุณ
ปัญหาคือ >> Nhojas = Sheets.Count
จากนั้นคุณต้องพึ่งพา Nhojas แต่เมื่อคุณลบแผ่นงาน คุณจะไม่ลด Nhojas ลง 1

ดังนั้นเพียงเพิ่มบรรทัดนี้ในรหัสของคุณหลัง "ชีต (i).Delete" และก่อน "อื่น":
โฆส = โฆส - 1

บริจาค :)

คุณทำงานได้ดี แต่คุณต้องรันโค้ดของคุณให้แห้งเมื่อคุณลองดีบักโค้ด
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ