2017-05-10 6 views
0

특정 열에 특정 값이있는 행을 삭제해야합니다. 행의 수는 가변적입니다. 다음 VBA 코드로이 작업을 시도했습니다.VBA를 사용하여 Excel에서 행 삭제

Sub DeleteRows() 

    Dim i, LastRow As Integer 
    LastRow = ActiveSheet.Cells(Sheets(1).Rows.Count, 1).End(xlUp).row 

    For i = 2 to LastRow 

     If Cells(i, 1).Value <> "certain value" Then 

     Rows(i).Delete 

     End If 

    Next i 

End Sub 

LastRow에 올바른 값이 포함되어 있습니다. 이 코드를 실행하면 아무 일도 일어나지 않습니다. 나는 VBA에서 새로운 사람입니다, 나는 누군가가 올바른 방향으로 나를 밀어 줄 수 있기를 바랍니다. 미리 감사드립니다.

+2

http://stackoverflow.com/questions/43895629/vba-delete-blank-rows-in-a-given-range-on-excel 루프에게 내가 놓친 –

답변

2

Sub DeleteRows() 

    Dim i as long, LastRow As long 
    with activesheet 
    LastRow = .Cells(.Rows.Count, 1).End(xlUp).row 

    For i = LastRow to 2 step -1 

     If .Cells(i, 1).Value <> "certain value" Then 

     .Rows(i).Delete 

     End If 

    Next i 
    End With 
End Sub 
+2

다른 방법을 시도 이것은 또한 선언 선을 'Dim i as Long, LastRow As Long'으로 변경합니다. 그렇지 않으면 행이 크면 변형이되고 LastRow는 오버 플로우합니다. –

+0

명백한 실수의 종류, 도와 줘서 고마워! – joepd

관련 문제