Vba에서 빈 줄을 삭제하는 방법(예제 포함)


VBA에서 다음 방법을 사용하여 빈 줄을 제거할 수 있습니다.

방법 1: 특정 범위에서 빈 행 제거

 Sub DeleteEmptyRowsInRange()
    Sheets(" Sheet1 ").Select
    Range(" A1:B10 ").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

이 특정 매크로는 Sheet1A1: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: 파일을 삭제하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다