使用VBA复制行并粘贴到不同的工作表(已编辑代码)

我有下面的代码,从用户获取dateinput。 我想要做的是:

  • 要在表单“延迟”的COl K中findinputdate之前的所有date,
  • 要复制整个行并将其粘贴到名为“Previous”的另一个表中。

我的代码:

Sub Previousweek() Dim userdate userdate = InputBox("Enter the date", "Enter Date", Date) If IsDate(userdate) Then 'logic here End If End Sub 

更新的代码:

 Sub Previousweek() Dim userdate userdate = InputBox("Enter the date", "Enter Date", Date) Dim rng As Range, cell As Range Set rng = Range("K2:K200") For Each cell In rng If cell.Value < userdate Then cell.EntireRow.Copy Sheets("Previous").Range("A65536").End(xlUp).Offset(1, 0).Select Sheets("Previous").Paste End If Next cell End Sub 

这是下行显示错误下标超出范围:

 Sheets("Previous").Range("A65536").End(xlUp).Offset(1, 0).Select 

只需更改With ThisWorkbook.Sheets("Previous")
到要粘贴数据的工作表的名称!

 Sub Previousweek() Dim UserDate As String Dim CeLL As Range UserDate = InputBox("Enter the date", "Enter Date", Date) If IsDate(UserDate) Then With ThisWorkbook.Sheets("Previous") For Each CeLL In ThisWorkbook.Sheets("Latency").Range("K2:K200").Cells If CeLL.Value < UserDate Then CeLL.EntireRow.Copy .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0) End If Next CeLL End With 'ThisWorkbook.Sheets("Previous") Else End If End Sub 

find更小的date伪代码

 Dim rng As Range, cell As Range Set rng = Range("K2:K200") For Each cell In rng if cell.value < userdate then //TODO copy to previous end if Next cell