VBA에서 행 삭제
- VBA에서 행 삭제
- VBA에서 전체 행을 삭제하는 방법
- VBA에서 여러 행을 삭제하는 방법
- VBA에서 대체 행을 삭제하는 방법
- VBA에서 빈 행을 삭제하는 방법
- VBA에서 특정 값을 가진 행을 삭제하는 방법
- VBA에서 중복 행을 삭제하는 방법
VBA의 예제를 통해 상황에 따라 행을 삭제하는 방법을 소개합니다.
VBA에서 행 삭제
Excel 시트에서 행을 삭제하는 것은 키보드 단축키 방법이나 마우스 또는 터치패드를 사용하여 수행할 수 있는 쉬운 작업입니다. 그러나 특정 행 또는 여러 행을 삭제하는 경우 VBA 경로를 사용하는 것이 유용합니다.
VBA는 불필요한 필드가 데이터의 일부인 경우 Excel 시트의 행 또는 열을 삭제하는 데 사용됩니다. 사용자가 특정 조건에서 열을 삭제하는 데 도움이 될 수 있습니다.
예를 들어 중복 행은 VBA 명령을 사용하여 쉽게 삭제할 수 있습니다.
이 문서에서는 사용자가 Excel 워크시트에서 작업하는 데 도움이 될 수 있는 몇 가지 주요 예제 및 관련 VBA 코드를 다룹니다. 이러한 여러 시나리오에는 다음이 포함됩니다.
-
전체 행을 삭제하려면
1.1. 첫 번째 행을 삭제하려면
1.2. 특정 행을 삭제하려면
-
여러 행을 삭제하려면
-
대체 행을 삭제하려면
-
빈 행을 삭제하려면
-
특정 날짜 값이 있는 행을 삭제하려면
-
중복 행을 삭제하려면
VBA에서 전체 행을 삭제하는 방법
이제 VBA에서 첫 번째 행을 삭제하려고 시도하는 첫 번째 시나리오에 대해 논의해 보겠습니다. 첫 번째 행을 삭제하려는 경우 VBA의 EntireRow.Delete
방법이 도움이 될 수 있습니다.
이제 예제에서 이 방법을 사용하여 Excel 시트의 첫 번째 행을 삭제해 보겠습니다.
deleteFirstRow()
로 sub
를 생성합니다. 이 목적을 위한 코드는 다음과 같습니다.
# VBA
Sub DeleteFirstRow()
ThisWorkbook.Worksheets(1).Rows(1).EntireRow.Delete
End Sub
출력:
위의 예는 특정 숫자를 참조하는 행을 지정하고 EntireRow.Delete
메서드를 사용하여 이 코드가 작동함을 보여줍니다. 따라서 코드는 행 번호를 언급하여 모든 행에 사용할 수 있습니다.
그럼 아래와 같이 위의 방법으로 행 번호 7과 10을 삭제해 보도록 하겠습니다.
# VBA
Sub DeleteSpecificRow()
ThisWorkbook.Worksheets(1).Rows(7).EntireRow.Delete
ThisWorkbook.Worksheets(1).Rows(10).EntireRow.Delete
End Sub
출력:
위의 예제는 삭제할 행 번호를 전달했을 때 EntireRow.Delete
메서드를 사용하여 전체 행을 쉽게 삭제할 수 있음을 보여줍니다.
VBA에서 여러 행을 삭제하는 방법
이전 예제에서 여러 EntireRow.Delete
메서드를 사용하여 여러 행을 삭제했습니다. 그러나 이제 하나의 방법으로 여러 행을 삭제하는 방법에 대해 이야기하겠습니다.
VBA에서 범위
개체를 사용하여 여러 행을 삭제할 수 있습니다. 사용자는 먼저 엑셀 시트에서 삭제할 셀의 개수를 선택하고 아래와 같이 범위를 넘긴다.
# VBA
Sub deleteMultipleRow()
Range("A1:C7").EntireRow.Delete
End Sub
출력:
위의 예는 Range()
메서드를 사용하여 EntireRow.Delete
메서드를 사용하여 삭제할 행과 열의 범위를 전달할 수 있음을 보여줍니다.
데이터에서 여러 행과 열을 직접 제거할 수 있습니다. VBA 코드를 사용하여 데이터에서 여러 행(2행에서 7행)을 제거합니다.
# VBA
Rows("2:7").Delete
출력:
열 범위(B에서 C까지)를 삭제하려면 다음 방법을 사용할 수 있습니다.
# VBA
Columns("B:C").Delete
출력:
![VBA 코드에서 열 함수를 사용하여 여러 열 삭제](</img/VBA/VBA code.gif>에서 열 함수를 사용하여 여러 열 삭제
VBA에서 대체 행을 삭제하는 방법
엑셀 시트는 다양한 용도로 사용되며, 엑셀 시트 형태로 기록을 저장하기 위해 사용하는 공용 소프트웨어입니다. Excel 시트는 대부분의 데이터가 Excel 시트에 저장되어 해당 데이터의 결과를 수식으로 찾기 때문에 재무 시스템의 기본 부분입니다.
일부 재무 Excel 시트에는 레코드를 개선하기 위해 제거해야 하는 대체 숫자에 대한 빈 행이 포함되어 있습니다. VBA는 사용자가 유용하지 않은 전체 대체 행을 제거하는 데 도움이 됩니다.
아래와 같이 대체 번호가 있는 행을 제거하고 이를 위해 sub
를 생성해 봅시다.
Sub AlternateRowDel()
rowLen = Selection.Rows.Count
For a = rowLen To 1 Step -2
Selection.Rows(a).EntireRow.Delete
Next a
End Sub
출력:
![VBA 코드에서 대체 행 삭제](</img/VBA/VBA code.gif>에서 대체 행 삭제
위의 AlternateRowDel()
하위에서 볼 수 있듯이 선택 항목의 행 수를 변수 rowLen
에 저장했습니다. 이 변수는 완전히 제거할 총 행 수입니다.
하위 항목에는 Step -2
로 실행되는 for
루프가 있습니다. 이는 모든 두 번째 행이 제거됨을 나타냅니다. 세 번째 행을 모두 제거하려면 step -3
이라고 쓰고 사용자가 데이터에서 제거하려는 대체 행의 다른 수에 대해 동일한 프로세스를 사용할 수 있습니다.
VBA에서 빈 행을 삭제하는 방법
대규모 데이터 컬렉션으로 작업할 때 비어 있는 행이 많거나 적을 가능성이 있습니다. 수동으로 삭제를 시작하면 시간이 많이 걸리고 찾기가 어려울 수 있으므로 VBA를 사용하여 삭제할 수 있습니다.
대규모 데이터 수집을 제공할 때 코드는 일반적으로 인간보다 더 정확하게 작동합니다. SpecialCells
메소드는 이러한 행을 삭제할 수 있습니다.
빈 셀만 선택하여 xlCellTypeBlanks
를 전달할 수 있습니다. 아래와 같이 예제를 통해 VBA를 사용하여 빈 행을 모두 삭제해 봅시다.
# VBA
Sub RemoveBlankRows()
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
출력:
위의 예는 한 줄의 코드로 수백 또는 수천 개의 빈 행을 삭제할 수 있음을 보여줍니다. 수동으로 삭제를 시작하면 몇 시간 또는 며칠이 걸릴 수 있습니다.
VBA에서 특정 값을 가진 행을 삭제하는 방법
때때로 특정 값을 포함하는 행을 삭제해야 하는 상황에 직면할 수 있습니다. 그리고 이러한 행을 수동으로 삭제하는 것은 어렵고 바쁜 과정이 될 수 있습니다.
그러나 VBA는 이 문제에 대한 솔루션도 제공합니다. 모든 행을 반복하고 특정 값을 찾을 수 있는 사용자 지정 하위를 만들 수 있습니다.
이러한 행에서 값이 발견되면 EntireRow.Delete
메서드를 사용하여 해당 행을 삭제할 수 있습니다.
아래와 같이 예제에서 이 논리를 사용하겠습니다.
# VBA
Sub RemoveWithValue()
For a = Selection.Rows.Count To 1 Step -1
If Cells(a, 1).Value = "Delete" Then
Cells(a, 1).EntireRow.Delete
End If
Next a
End Sub
출력:
![VBA 코드에서 특정 값이 있는 행 삭제](</img/VBA/VBA code.gif>에서 특정 값이 있는 행 삭제
위의 예는 이 코드가 모든 행을 반복하고 delete
라는 단어를 찾는 것을 보여줍니다. 이러한 행에서 delete
가 발견된 경우.
우리 코드는 이러한 행을 삭제할 것입니다.
VBA에서 중복 행을 삭제하는 방법
일부 결과에 문제를 일으킬 수 있는 중복이 많은 데이터 집합이 있을 수 있는 상황이 있을 수 있습니다. 수동으로 시작하면 중복 삭제도 바쁠 수 있습니다.
특정 항목이 이전에 표시되었는지 기억하기 어려울 수도 있습니다.
더 쉽고 간단하게 만들기 위해 VBA에서 RemoveDuplicates
라는 다른 방법을 사용할 수 있습니다. 이 메서드는 범위를 가져와 중복 항목을 찾아 삭제합니다.
아래와 같이 예제에서 이 시나리오를 사용하겠습니다.
# VBA
Range("A1:A10").RemoveDuplicates Columns:=1
출력:
![VBA 코드에서 중복 값이 있는 행 삭제](</img/VBA/VBA code.gif>에서 중복 값이 있는 행 삭제
위의 예는 a1
셀에서 b10
셀로 범위를 전달했음을 보여줍니다. 그리고 우리의 코드는 중복을 찾아 삭제할 것입니다.
Excel 시트에서 VBA 코드를 사용하는 방법
때때로 사람들은 Excel 시트에서 스크립트를 실행하기 위해 VBA 코드를 작성할 수 있는 위치에 대해 혼란스러워합니다.
다음은 원하는 Excel 시트에서 VBA 코드를 실행하기 위해 따를 수 있는 몇 가지 단계입니다.
-
먼저 VBA 편집기를 열어야 합니다. 다음 버튼을 눌러 VBA 편집기를 쉽게 열 수 있습니다.
먼저 ALT 키를 누른 상태에서 F11 키를 누릅니다.
-
VBA 편집기가 열리면
보기
옵션으로 이동하여프로젝트 탐색기
를 선택합니다. VBA 편집기 모드로 들어가면 워크시트 왼쪽에 있는 프로젝트 탐색기를 얻을 수도 있습니다. -
이제 코드를 실행할 개체를 마우스 오른쪽 버튼으로 클릭합니다.
-
이제 워크시트에 모듈을 추가합니다.
삽입
을 클릭하고모듈
을 선택하여 워크시트에 모듈을 쉽게 추가할 수 있습니다. -
붙여넣고자 하는 코드를 복사하여 붙여넣습니다. 또는 거기에 코드를 작성하고 싶다면 그렇게 할 수 있습니다.
-
커서를 유지하고 F5 키를 눌러 코드를 실행합니다. VBA 도구 모음에 있는 녹색 삼각형을 클릭하여 VBA 코드를 실행할 수도 있습니다.