VBA 전체 행 또는 전체 열 삭제하기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 5, 2023

이 튜토리얼에서는 VBA를 사용하여 Excel에서 행과 열을 삭제하는 다양한 방법을 보여드립니다.

전체 행 또는 전체 열 삭제하기

VBA에서 전체 행을 삭제하려면 다음 코드를 사용합니다:

Rows(1).Delete

행을 삭제할 때 Delete 메서드를 사용한다는 점에 주목하세요.

Rows 객체를 참조하는 대신 Range 객체를 기반으로 행을 참조할 수 있는 EntireRow를 사용할 수 있습니다:

Range("a1").EntireRow.Delete

전체 열을 삭제하는 것도 비슷하며 다음 코드를 사용합니다:

Columns(1).Delete
Range("a1").EntireColumn.Delete

여러 행 또는 여러 열 삭제하기

동일한 코드를 사용하여 여러 행을 한 번에 삭제할 수도 있습니다:

Rows("1:3").Delete

여러 열도 삭제할 수 있습니다:

Columns("A:C").Delete

여기서는 따옴표로 묶인 특정 행과 열 번호 또는 문자를 참조하고 있음을 주목하세요.

물론 범위의 전체 행을 참조할 수도 있습니다:

Range("a1:a10").EntireRow.Delete

참고: 아래 예제에서는 행 삭제만 보여 주지만, 위에서 볼 수 있듯이 열 삭제 구문도 거의 동일합니다.

비어있는 행 삭제하기

이 예제 코드는 전체 행이 비어 있는 경우 행을 삭제합니다:

Sub DeleteRows_EntireRowBlank()

Dim cell As Range

For Each cell In Range("b2:b20")
    If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then
        cell.EntireRow.Delete
    End If
Next cell

End Sub

Excel 워크시트 함수(COUNTA)를 사용합니다.

특정 열의 셀이 비어 있으면 행 삭제하기

이 함수는 해당 행의 특정 열이 비어 있는 경우 행을 삭제합니다(아래 예제의 경우는 B열입니다):

Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

셀 값에 따라 행 삭제하기

이 함수는 범위를 반복하고 해당 행의 특정 셀 값이 “삭제”인 경우 행을 삭제합니다.

Sub DeleteRowswithSpecificValue()

Dim cell As Range

For Each cell In Range("b2:b20")
    If cell.Value = "삭제" Then
        cell.EntireRow.Delete
    End If
Next cell

End Sub

행 및 열 삭제 예제 더 보기

중복 행 삭제하기

이 코드는 범위 내 모든 중복 행을 삭제합니다:

Range("b2:c100").RemoveDuplicates Columns:=2

Columns:=2를 설정한 것에 주목하세요. 이는 행이 중복되는지 고려할 때 VBA가 데이터의 처음 두 열을 모두 확인하도록 지시합니다. 중복은 두 열 모두에 중복 값이 있는 경우에만 발견됩니다.

이 값을 1로 설정했다면 첫 번째 행만 중복 값을 확인했을 것입니다.

테이블 행 삭제하기

이 코드는 ListObjects를 참조하여 테이블의 두 번째 행을 삭제합니다.

ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

필터링된 행 삭제하기

필터링 후 표시되는 행만 삭제합니다:

Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

범위 내 행 삭제하기

이 코드는 범위 내의 모든 행을 삭제합니다:

Range("a1:a10").EntireRow.Delete

이 코드는 선택한 모든 행을 삭제합니다:

이 코드는 선택한 모든 행을 삭제합니다:

Selection.EntireRow.Delete

마지막 행 삭제하기

이 코드는 B 열에서 마지막으로 사용된 행을 삭제합니다:

Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

2를 1로 변경하면 A 열에서 마지막으로 사용한 행을 삭제할 수 있습니다:

Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

문자 대신 번호로 열 삭제하기

열의 번호를 기준으로 열을 삭제하려면 다음과 같은 코드를 사용합니다:

Columns (2).Delete
vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기