답변:
셀이 실제로 비어 있으면이 작업을 매우 빠르게 수행 할 수 있습니다 SpecialCells
설명서
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 열).
요약해서 말하자면:
이 작동합니다.
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