Как удалить строки в соответствии с критериями в ячейках - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь автоматизировать некоторую фильтрацию даты для работы.Я хочу удалить строки, если они не попадают под эту отметку времени

2: 00 утра - 10:00 утра

Так что, если время до 2:00 утра или после 10:00 утра, удалите всестрока.Есть несколько строк, как это.

Я не уверен, с чего начать, потому что я очень новичок и мне нужен простой код.

Вот как будут выглядеть данные

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Это похоже на этот вопрос здесь , где я дал аналогичный ответ. Вы можете попробовать это, хотя это предполагает, что ваше время указано в 24-часовом формате, и предполагается, что вы хотите удалить только эту конкретную ячейку, а не всю строку.

Sub TimeDelete()
 'Declare your variables
 Dim timeRng As Range, early As Long, late As Long, lrow As Long 

'Finds the last row with a time in it in Column F
 lrow = ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count, 6).End(xlUp).Row 

 'Define the times you want to compare against
 early = "02:00:00"
 late = "10:00:00"

 'Specifies the range the times are in
 Set timeRng = ThisWorkbook.Worksheets("Sheet1").Range(Cells(1,6), Cells(lrow,6))

 'Use a For loop to check each value in the range
 For Each Cell In timeRng.Cells
     If TimeValue(Cell.Value) >= TimeValue(early) And TimeValue(Cell.Value) <= TimeValue(late) Then
         Cell.Delete Shift:=xlToLeft 'Deletes cell if it meets the criteria and shifts remaining cells in the row to the left.
     End If
 Next Cell
End Sub
0 голосов
/ 17 мая 2019

Мой VBA немного ржавый, но это должно работать

        Sub DelStuff()
        Dim WB As Workbook
        Dim Sheet As Worksheet
        Set WB = ActiveWorkbook
        Set Sheet = WB.ActiveSheet

        For Each r In Sheet.UsedRange.Rows

            If Cells(r.Row, "F").Value <= Date & " " & #2:00:00 AM# Or Cells(r.Row, "F").Value >= Date & " " & #10:00:00 AM# Then
                r.EntireRow.Delete
            End If

        Next r

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