2017-03-14 1 views
0

L : S 열에 공백이 있으면 행을 삭제하기 위해이 코드를 사용했지만 모든 행에 데이터가 포함되어 있어도 여전히 불행히도 행을 삭제합니다.루프 삭제 상위 행

데이터를 잘 복사하지만 맨 끝에는 그 안에있는 모든 데이터가있는 행이 삭제됩니다. 매우 이상합니다.

누군가 도와주세요.

Sub CopyValuesAndDeleteRowsWithBlankKRColumns() 
Dim pasteArea As Range 
Dim iRow As Long 

With Sheets("Create Form").Range("COPYTABLEC") 
    Set pasteArea = Sheets("Sample Data").Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Resize(.Rows.Count, .Columns.Count) 
    pasteArea.Value = .Value 
End With 
With Intersect(pasteArea, Sheets("Sample Data").Range("L:S")) 
    For iRow = .Rows.Count To 1 Step -1 
    If WorksheetFunction.CountBlank(.Rows(iRow)) Mod 8 = 0 Then .Rows(iRow).EntireRow.Delete 
    Next 
End With 
End Sub 
+1

변경을보고하지 않습니다''에 1'하려면 2'하고 심지어 첫 번째 행에 보이지 않는 것입니다. –

+0

고맙습니다. 전체 행을 위해 왜 그렇게하는지 설명 할 수 있습니까? 임 정직하다면 정말로보고 싶지 않아. 나를위한 마지막 코드 섹션을 설명해 주시겠습니까? iRow =. 행 개수 1 단계 -1 WorksheetFunction.CountBlank (.Rows (iRow)) Mod 8 = 0 Then .Rows (iRow) .EntireRow.Delete –

+0

또한 무효화 된'Rows.Count' 첫 번째'With'1 블록에서. "Sample Data"시트의 행 수를 계산한다고 가정하고 대신이 작업을 수행하십시오 : Set pasteArea = Sheets ("Sample Data"). 범위 ("B"& Sheets ("Sample Data").) ... ' – BruceWayne

답변

0

변경하는 데 1 ~ 2에 그것도 첫 번째 행