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 코드 예시로 돌아가기

AI in the VBA Editor!

AutoMacro is the ultimate VBA add-in.

AI, Generators, UI Builders, Code Library, and More!

Learn More

AutoMacro: AI in the VBA Editor!

Learn More