Kris에는 데이터에 많은 수의 빈 행이있는 워크 시트가 있습니다. 그는 완전히 비어있는 모든 행을 삭제하는 간단한 매크로를 찾고 있습니다.

이 작업을 수행하는 방법에는 여러 가지가 있습니다. 다음 섹션에서는 이러한 문제가있는 행을 제거하기위한 다양한 아이디어를 모두 검토합니다.

_ 공백 선택 _

공백의 위치를 ​​빠르게 확인할 수있는 한 가지 방법은 데이터에서 공백을 선택하는 것입니다. 다음 단계를 따르십시오.

  1. 작업중인 모든 데이터를 선택하십시오.

  2. F5를 누릅니다. Excel은 이동 대화 상자를 표시합니다.

  3. 특수를 클릭하십시오. Excel은 특별하게 이동 대화 상자를 표시합니다. (그림 1 참조)

  4. 공백 라디오 버튼을 선택합니다.

  5. 확인을 클릭하십시오. Excel은 시작 범위 (1 단계)에있는 셀을 선택합니다.

비어 있습니다.

  1. 리본의 홈 탭을 표시합니다.

  2. 삭제 도구를 클릭합니다. Excel에서 행을 삭제합니다.

이 방법을 사용하는 데에는 큰주의가 있습니다. 셀이 비어있는 모든 행을 삭제합니다. 즉, 데이터의 유일한 공백이 실제로 삭제하려는 행에있는 경우이 방법이 가장 좋습니다.

정말로 보관하려는 데이터 사이에 빈 셀이 산재 해있는 경우이 방법을 사용하지 마십시오. 해당 행도 삭제됩니다.

_ 정렬 _

데이터가 너무 많은 행으로 구성되지 않은 경우 (예 : 열이 10 개 이하) 데이터 정렬 만 고려할 수 있습니다. 정렬 사양에 각 열을 포함하면 서로 바로 옆에있는 빈 행으로 끝나고 쉽게 삭제할 수 있습니다.

데이터에 많은 열이 있고 도우미 열을 추가해도 괜찮다면 정렬 방법의 변형에서 빈 행을 제거 할 수 있습니다. 데이터가 A ~ P 열에 있다고 가정합니다. Q 열에 다음 공식 중 하나를 입력합니다.

=COUNTA(A1:P1)

=IF(COUNTBLANK(A1:P1)=16,"DELETE","")

어떤 것을 사용하든 상관 없습니다. 둘 다 함께 작업 할 수있는 정보를 제공합니다. COUNTA 수식의 경우 Q 열을 기준으로 정렬하고 해당 열에서 0이있는 항목을 삭제하면됩니다.

COUNTBLANK 수식의 경우 등식 값 (16)을 COUNTBLANK 함수가 고려하는 많은 열로 변경해야합니다. (이 경우 16은 A : P 범위의 열 수입니다.) 수식이 제자리에 있으면 Q 열을 기준으로 정렬 한 다음 해당 열에 “DELETE”라는 단어가있는 모든 행을 삭제하면됩니다. .

정렬 방법의 또 다른 변형은 Excel의 필터링 기능을 사용하여 데이터 열 중 하나에 공백 만 포함하도록 목록을 필터링하는 것입니다. (예를 들어 A 열의 공백을 필터링 할 수 있습니다.) 그런 다음 나머지 열을 정렬하여 전체 공백 행을 한곳에 배치 한 다음 해당 행을 삭제할 수 있습니다.

_ 매크로 _

빈 행을 자주 삭제해야하는 경우 매크로를 사용하여 어려운 작업을 수행하는 것이 좋습니다. 매크로를 리본에 쉽게 추가하거나 바로 가기 키에 할당 할 수 있으므로 매우 쉽게 호출 할 수 있습니다.

이 팁의 앞부분에서 원하는 경우 Go To Special 대화 상자를 사용하여 데이터 범위에서 빈 셀을 선택한 다음 해당 빈 셀이 발생하는 행을 삭제할 수 있다고 언급했습니다. 간단한 매크로에서도 동일한 작업을 수행 할 수 있습니다.

Sub DeleteBlanks()

Dim R As Range

Set R = Range("A1:" & ActiveCell.SpecialCells(xlLastCell).Address)

R.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

그러나이 매크로는 해당 행에있을 수있는 다른 데이터를 유지하려는 경우에도 공백이있는 모든 행을 삭제합니다.

더 나은 방법은 워크 시트의 각 행에 대해보다 포괄적 인 검사를 수행하는 것입니다.

Sub DeleteBlankRows()

Dim lRows As Long     Dim J As Long

lRows = ActiveCell.SpecialCells(xlLastCell).Row     Application.ScreenUpdating = False     For J = lRows To 1 Step -1         If WorksheetFunction.CountA(Rows(J)) = 0 Then Rows(J).Delete     Next J     Application.ScreenUpdating = True End Sub

매크로는 통합 문서에 사용 된 마지막 셀을 결정하고 lRows 값을 해당 셀이 발생하는 행과 동일하게 설정합니다. 그런 다음 For …​ Next 루프가 각 행을 단계별로 진행합니다 (마지막에서 처음으로)

COUNTA 함수를 사용하여 해당 행에 항목이 있는지 확인합니다. 그렇지 않은 경우 행이 삭제됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (254)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.