使用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