วิธีการลบบรรทัดว่างใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีการต่อไปนี้ใน VBA เพื่อลบบรรทัดว่าง:
วิธีที่ 1: ลบแถวว่างในช่วงที่ระบุ
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
มาโครนี้จะลบแถวว่างทั้งหมดออกจากช่วง A1:B10 ของ Sheet1
วิธีที่ 2: ลบแถวว่างในทั้งแผ่นงาน
Sub DeleteEmptyRowsInSheet()
'turn off screen updating for faster performance
Application.ScreenUpdating = False
Dim i As Long
With ActiveSheet
For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(i)) = 0 Then
ActiveSheet.Rows(i).Delete
End If
Next
End With
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
มาโครนี้จะลบแถวว่างทั้งหมดออกจากแผ่นงานที่ใช้งานอยู่ทั้งหมด
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ลบบรรทัดว่างในช่วงที่ระบุ
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
เราสามารถสร้างแมโครต่อไปนี้เพื่อลบบรรทัดว่างทั้งหมดออกจากช่วง A1:B10 บนชีตนี้:
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าบรรทัดว่างทั้งหมดได้ถูกลบออกจากช่วงที่เราระบุแล้ว
ตัวอย่างที่ 2: ลบแถวว่างในแผ่นงานทั้งหมด
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
เราสามารถสร้างมาโครต่อไปนี้เพื่อลบบรรทัดว่างทั้งหมดออกจากแผ่นงานทั้งหมด:
Sub DeleteEmptyRowsInSheet()
'turn off screen updating for faster performance
Application.ScreenUpdating = False
Dim i As Long
With ActiveSheet
For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(i)) = 0 Then
ActiveSheet.Rows(i).Delete
End If
Next
End With
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าบรรทัดว่างทั้งหมดได้ถูกลบออกจากทั้งแผ่นงานแล้ว
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีลบแถวตามค่าของเซลล์
VBA: วิธีลบแผ่นงานหากชื่อมีข้อความเฉพาะ
VBA: วิธีลบไฟล์