我不确定是否可行?我正在尝试将列表中过去六个小时内未触及的项目移至新的工作表中。如何使用公式而不是匹配文本方案复制/移动行?
到目前为止,我的代码:
With Sheets("Scheduled")
.Select
Firstrow = .UsedRange.Cells(2).Offset(1, 0).Row
Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
For Lrow = Lastrow To Firstrow Step -1
With .Cells(Lrow, "C")
If Not IsError(.Value) Then
If .Value <> "Scheduled" Then
'Copy all "Not Scheduled" reports to the "Tracker" sheet and remove them from "Scheduled".
.EntireRow.Copy Sheets("Tracker").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
.EntireRow.Delete
End If
End If
End With
Next Lrow
End With
这段代码并不完全是我正在谈论的部分,但这就是我在工作簿其他部分周围移动行的方式。
答案 0 :(得分:1)
更改C
列中的字母,
With .Cells(Lrow, "C")
...到带有您要检查的日期时间值的列字母。
更改
If Not IsError(.Value) Then
...到
If IsNumeric(.Value) Then 'this also moves blanks
更改比较,
If .Value <> "Scheduled" Then
...到
If .Value2 < (Now - TimeSerial(6, 0, 0)) Then
更改Tracker
工作表名称,
.EntireRow.Copy Sheets("Tracker").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
...无论目标工作表的名称是什么。