Как удалить строку на основе опубликованного в столбце J = 0? - PullRequest
2 голосов
/ 21 октября 2011

У меня в таблице Excel есть следующее,

a cut down version of my spreadsheet

Как удалить строку на основе опубликованного в столбце J = 0?

Было бы лучше вырезать строку и вставить ее на другой лист ... но ЕСЛИ вы поможете мне просто удалить ее, это будет хорошо.

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

Этот код автоматически фильтрует строки в активном листе, где J = 0, копирует их в первую пустую строку на втором листе, а затем удаляет строки из активного листа.

Измените эту строку Set ws2 = Sheets(2), чтобы скопировать строки на другой лист, например Set ws2 = Sheets("Your Sheet Name") или Set ws2 = Sheets(5) для пятого листа и т. Д.

Sub MoveEm()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Set ws1 = ActiveSheet
    Set ws2 = Sheets(2)
    Dim rng1 As Range
    Application.ScreenUpdating = False
    With ws1
        .AutoFilterMode = False
        .Columns("j").AutoFilter Field:=1, Criteria1:="0"
        With .AutoFilter.Range.Offset(1, 0).EntireRow
        Set rng1 = ws2.Cells.Find("*", ws2.[a1], xlValues, , xlRows, xlPrevious)
        If rng1 Is Nothing Then
        Set rng1 = ws2.[a1]
        Else
        Set rng1 = ws2.Cells(rng1.Row + 1, "A")
        End If
            .Copy rng1
            .Delete
        End With
        .AutoFilterMode = False
    End With
    Application.ScreenUpdating = True
End Sub
3 голосов
/ 21 октября 2011
Sub Delete_Zero_Codes()  ' Deletes The Zero  Codes 
    Dim rCell As Range
    Dim strAddress As String
Application.ScreenUpdating = False

    With Thisworkbook.Sheets("sheetname").Columns("J")
        Set rCell = .Find(What:=0, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
        If Not rCell Is Nothing Then
            Do
            strAddress = rCell.Address
            rCell.EntireRow.Delete
            Set rCell = .FindNext(Range(strAddress))
            Loop Until rCell Is Nothing
        End If
    End With

Application.ScreenUpdating = True

End Sub

Этот макрос удаляет нулевые коды столбца J и не вставляет их на другой лист. Если вам нужно скопировать нулевые коды столбца J на ​​другой лист, дайте мне знать, что я обновлю его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...