У меня есть таблица с примерно 6000 строк, а в столбце Z есть значение даты и времени. Форматирование выглядит следующим образом:
2020-01-29 13:18:36
Я хочу скопировать и вставить всю строку между Сейчас и 30 минут назад. Например, если текущее время 08:00, я хочу скопировать все строки с «2020-01-30 07:30:00» на «2020-01-30 08:00:00».
Примерно вот что я имею в виду:
.AutoFilter Field:=26, Criteria1:="<=Now", Operator:=xlAnd, Criteria2:=">=Now-30 minutes"
.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheet2.Range("A1")
Как мне отформатировать текущее время, как в примере выше, и время 30 минут назад, и как вставить его в автофильтр?
Заранее спасибо!
/ Jens
Редактировать:
Этот код работает:
Dim LastRow
LastRow = Sheets("privata").Range("A" & Rows.Count).End(xlUp).Row
Sheets("privata").Range("A1:AN" & LastRow).AutoFilter Field:=26, Criteria1:=">=2020-01-30 08:00", Operator:=xlAnd, Criteria2:="<=2020-01-30 08:30"
Sheets("privata").Range("A1:AN" & LastRow).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("toptre").Range("A1")
Sheets("privata").ShowAllData
Но это не так:
Dim Nu As Date
Dim PreNu As Date
Dim LastRow
Nu = Now
PreNu = Now - 1 / 48
LastRow = Sheets("privata").Range("A" & Rows.Count).End(xlUp).Row
Sheets("privata").Range("A1:AN" & LastRow).AutoFilter Field:=26, Criteria1:="<=" & Nu, Operator:=xlAnd, Criteria2:=">=" & PreNu
Sheets("privata").Range("A1:AN" & LastRow).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("toptre").Range("A1")
Sheets("privata").ShowAllData
Вот пример таблицы: