메인 컨텐츠로 가기

목록을 필터링하고 Excel에서 숨겨 지거나 보이는 나머지 행을 삭제하는 방법은 무엇입니까?

필터링 된 목록의 경우 유용한 데이터 만 유지하기 위해 숨겨 지거나 보이는 행을 삭제해야 할 수 있습니다. 이 기사에서는 Excel에서 필터링 된 목록의 나머지 숨겨진 행이나 보이는 행을 삭제하는 방법을 보여줍니다.

VBA 코드로 활성 워크 시트에서 숨겨진 행 삭제
보이는 모든 셀을 선택하여 필터링 된 목록의 보이는 행 삭제
Excel 용 Kutools를 사용하여 필터링 된 목록의 숨겨진 또는 보이는 행을 쉽게 삭제하십시오.


VBA 코드로 활성 워크 시트에서 숨겨진 행 삭제

이 섹션에서는 활성 시트에서 숨겨진 행을 삭제하는 VBA 코드를 보여줍니다. 다음과 같이하십시오.

1. 숨겨진 행을 삭제하는 데 필요한 워크 시트를 활성화하고 다른 + F11 동시에 열려면 키 응용 프로그램 용 Microsoft Visual Basic 창.

2. Microsoft Visual Basic for Applications 창에서 끼워 넣다 > 모듈. 그런 다음 아래 VBA 코드를 복사하여 모듈 창에 붙여 넣으십시오.

VBA 코드 : 숨겨진 행 삭제

Sub RemoveHiddenRows()
	Dim xRow As Range
	Dim xRg As Range
	Dim xRows As Range
	On Error Resume Next
	Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
	If xRows Is Nothing Then Exit Sub
		For Each xRow In xRows.Columns(1).Cells
			If xRow.EntireRow.Hidden Then
				If xRg Is Nothing Then
					Set xRg = xRow
				Else
					Set xRg = Union(xRg, xRow)
				End If
			End If
		Next
		If Not xRg Is Nothing Then
			MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
			xRg.EntireRow.Delete
		Else
			MsgBox "No hidden rows found", , "Kutools for Excel"
		End If
	End Sub

3. 누르세요 F5 코드를 실행하는 키입니다. 활성 시트에 숨겨진 행이있는 경우 코드를 실행 한 후 삭제 된 숨겨진 행 수를 알려주는 대화 상자가 나타납니다. 클릭 OK 버튼을 눌러 숨겨진 행을 삭제합니다. 스크린 샷보기 :

문서 삭제 나머지 1

그렇지 않으면 코드를 실행 한 후 다음 대화 상자가 나타납니다.

문서 삭제 나머지 1

주의 사항: 위의 VBA 코드는 필터링 된 목록의 숨겨진 행을 삭제할 수있을뿐만 아니라 이전에 수동으로 숨긴 숨겨진 행도 삭제할 수 있습니다.


보이는 모든 셀 기능을 선택하여 필터링 된 목록의 보이는 행 삭제

필터링 된 목록의 보이는 행을 삭제하려면 다음과 같이하십시오.

1. 필터링 된 모든 행을 선택하고 F5 열쇠를 열려면 로 이동 대화 상자를 클릭 한 다음 이달의 스페셜 단추. 스크린 샷보기 :

문서 삭제 나머지 1

2. 에서 특별하게 가기 대화 상자에서 보이는 셀만 옵션을 클릭 한 다음 OK 버튼을 클릭합니다.

문서 삭제 나머지 1

3. 이제 보이는 모든 행이 선택되고 선택 항목을 마우스 오른쪽 버튼으로 클릭 한 다음 행 삭제.

문서 삭제 나머지 1

지금까지는 표시되는 모든 행이 필터링 된 목록에서 삭제되었습니다.


Excel 용 Kutools를 사용하여 필터링 된 목록의 숨겨진 또는 보이는 행을 쉽게 삭제하십시오.

위의 두 가지 방법은 많은 Excel 사용자가 원하는 솔루션이 아닐 수 있습니다. 여기서는 편리한 도구를 소개합니다. 와 더불어 숨겨진 (표시) 행 및 열 삭제 ~의 유용성 Excel 용 Kutools, 선택한 범위 / 시트, 활성 시트 또는 Excel의 모든 워크 시트에서 숨겨진 행을 쉽게 삭제할 수 있습니다.

신청하기 전에 Excel 용 Kutools, 제발 먼저 다운로드하여 설치하십시오..

1. 필터링 된 목록에서 숨겨 지거나 보이는 행만 삭제하려면 필터링 된 범위를 수동으로 선택한 다음 쿠툴 > . > 숨겨진 (표시) 행 및 열 삭제. 스크린 샷보기 :

2. 에서 숨겨진 (표시) 행 및 열 삭제 대화 상자에서 선택한 범위에서 에서 선택한 잠깐 들여다보다 드롭 다운 목록 (필요에 따라 다른 옵션을 선택할 수 있음)에서 에서 옵션 유형 삭제 섹션 및 자세한 유형 섹션, 확인 보이는 행 or 숨겨진 행 당신이 필요로하는 선택권. 마지막으로 OK 버튼을 클릭합니다.

3. 그런 다음 삭제 된 행 수를 알려주는 대화 상자가 나타납니다. OK 버튼을 클릭합니다.

  이 유틸리티의 무료 평가판 (30 일)을 받으려면 그것을 다운로드하려면 클릭하십시오을 클릭 한 다음 위 단계에 따라 작업 적용으로 이동합니다.


Excel 용 Kutools를 사용하여 숨겨진 또는 보이는 필터링 된 목록 행 삭제

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi this VBA code is awesome useful.
This comment was minimized by the moderator on the site
Thanks for the info. This has been instructive. Please is there a way to filter and delete for specific numbers in rows of up to 1 million? Can the code above be modified to do so?
This comment was minimized by the moderator on the site
Hi,
Sorry did not test the code in such huge row data. Maybe you can make a copy of your data and test if the code can work.
This comment was minimized by the moderator on the site
VBA code to Delete hidden rows worked perfectly with no fiddling. THANK YOU!!
This comment was minimized by the moderator on the site
Feedback re: the macro for hidden row deletions - this takes too long to run on 900k rows to be useful. 2+ hours on an OC'd Threadripper 1950X and still running (had to end task). Any way to optimize it to use multiple cores or is this a VBA limitation?
This comment was minimized by the moderator on the site
Hi,
The code has been optimized. Please have a try. Thank you for your comment.

Sub RemoveHiddenRows()
Dim xFlag As Boolean
Dim xStr, xTemp As String
Dim xDiv, xMod As Long
Dim I, xCount, xRows As Long
Dim xRg, xCell, xDRg As Range
Dim xArr() As String
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Set xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
Set xRg = xRg(1)
xFlag = True
xTemp = ""
xCount = 0
For I = 1 To xRows
Set xCell = xRg.Offset(I - 1, 0)
Do While xFlag
If xCell.EntireRow.Hidden Then
xStr = xCell.Address
xFlag = False
Else
GoTo Ctn
End If
Loop
If xCell.EntireRow.Hidden Then
xTemp = xStr & "," & xCell.Address
End If
If Len(xTemp) > 171 Then
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
xStr = xCell.Address
Else
xStr = xTemp
End If
Ctn:
Next
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
For I = xCount To 1 Step -1
If I = 1 Then
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Else
xStr = xArr(I)
End If
If xDRg Is Nothing Then
Set xDRg = Range(xStr)
Else
Set xDRg = Union(xDRg, Range(xStr))
End If
If (Len(xDRg.Address) >= 244) Or (xCount = 1) Then
xDRg.EntireRow.Delete
Set xDRg = Nothing
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Awesome, thank you! Will review at my next opportunity / need for this and reply back.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations