2017-05-10 21 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

関連する問題