나는 Excel의 완전한 초보자이므로 이것이 쉬운 일이라면 실례합니다. 많은 옵션을 살펴 보았지만 필요한 것을 찾을 수 없었습니다.
기본적으로 C 열에 값이 포함되지 않은 모든 행을 삭제하고 싶습니다. 어떻게해야합니까?
5000 + 제품에 대해 지금 수동 으로이 작업을 수행하고 있으며 나를 미치게합니다.
답변
셀이 실제로 비어 있으면이 작업을 매우 빠르게 수행 할 수 있습니다 SpecialCells
설명서
- C 열을 선택하십시오
- 을 누른
F5
다음Special
- 를 확인한
Blanks
다음OK
(아래 그림의이 단계 참조) - 현재 선택된 행을 삭제합니다 (예 : 선택> 셀 삭제 … > 전체 행 또는 리본을 통해 마우스 오른쪽 단추를 클릭 하십시오 (두 번째 스크린 샷 참조)).
VBA
Sub QuickCull()
On Error Resume Next
Columns("C").SpecialCells(xlBlanks).EntireRow.Delete
End Sub
답변
쉬운 수동 방법은 다음과 같습니다.
Auto Filter
시트에를 적용하십시오C
빈 칸에 필터- 보이는 행을 모두 선택하십시오.
- 행 삭제
- 필터 제거
필요한 경우 VBA를 사용하여이 프로세스를 자동화 할 수 있습니다. 매크로 레코더를 실행하여 시작해보십시오.
답변
다른 셀에 다른 수식이 없다고 가정하면 가장 쉬운 방법은 C 열로 모든 것을 정렬 한 다음 C 열에 공백이있는 모든 행을 삭제하는 것입니다 (정렬 함수는 빈 값을 넣습니다) 파일 상단의 C 열).
요약해서 말하자면:
- “1”로 표시된 셀 위의 접힌 종이 셀을 클릭하고 “A”로 표시된 셀의 왼쪽을 클릭하십시오 (모두 강조 표시).
- 데이터를 클릭 한 다음 정렬
- C 열을 기준으로 정렬하고 가장 작은 값을 먼저 설정
- C 열의 값으로 첫 번째 행을 칠 때까지 행을 강조 표시하고 강조 표시된 모든 항목을 삭제하십시오.
답변
이 작동합니다.
Columns("C:C").Select
Set rngRange = Selection.CurrentRegion
lngNumRows = rngRange.Rows.Count
lngFirstRow = rngRange.Row
lngLastRow = lngFirstRow + lngNumRows - 1
lngCompareColumn = ActiveCell.Column
For lngCurrentRow = lngLastRow To lngFirstRow Step -1
If (Cells(lngCurrentRow, lngCompareColumn).Text = "") Then _
Rows(lngCurrentRow).Delete
Next lngCurrentRow
답변
이 코드를 시트 모듈에 넣을 수 있습니다 (오른쪽 마우스 클릭 시트 탭 및 “코드보기”를 선택하십시오).
Sub Delete_Blank_Rows()
'Deletes the entire row within the selection if the ENTIRE row contains no data.
'We use Long in case they have over 32,767 rows selected.
Dim i As Long
Dim LastRow As Integer
'We turn off calculation and screenupdating to speed up the macro.
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
'Reduce the work on the calc and define the range
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Range("A2:A" & LastRow).Select
'We work backwards because we are deleting rows.
For i = Selection.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
Selection.Rows(i).EntireRow.Delete
End If
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub