Vba에서 빈 줄을 삭제하는 방법(예제 포함)
VBA에서 다음 방법을 사용하여 빈 줄을 제거할 수 있습니다.
방법 1: 특정 범위에서 빈 행 제거
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
이 특정 매크로는 Sheet1 의 A1:B10 범위에서 모든 빈 행을 제거합니다.
방법 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: 파일을 삭제하는 방법