Jak usunąć puste linie w vba (z przykładami)
Aby usunąć puste linie, możesz użyć następujących metod w VBA:
Metoda 1: Usuń puste wiersze w określonym zakresie
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
To konkretne makro usunie wszystkie puste wiersze z zakresu A1:B10 Sheet1 .
Metoda 2: Usuń puste wiersze z całego arkusza
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
To konkretne makro usunie wszystkie puste wiersze z całego aktywnego arkusza.
Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.
Przykład 1: Usuń puste linie w określonym zakresie
Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:
Możemy utworzyć następujące makro, aby usunąć wszystkie puste linie z zakresu A1:B10 na tym arkuszu:
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Po uruchomieniu tego makra otrzymamy następujący wynik:
Należy pamiętać, że wszystkie puste linie zostały usunięte z określonego przez nas zakresu.
Przykład 2: Usuń puste wiersze z całego arkusza
Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:
Możemy utworzyć następujące makro, aby usunąć wszystkie puste linie z całego arkusza:
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
Po uruchomieniu tego makra otrzymamy następujący wynik:
Należy pamiętać, że z całego arkusza usunięto wszystkie puste linie.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak usuwać wiersze na podstawie wartości komórki
VBA: Jak usunąć arkusz, jeśli nazwa zawiera określony tekst
VBA: jak usunąć pliki