我有什么是工作代码,但我希望能够运行它2,3,4次,并让它只是沿着目标工作表向下移动。相反,它会覆盖最后一次粘贴的内容。将找到的行粘贴到新工作表的输入框
Sub Comparison_Entry()
Dim myWord$
myWord = InputBox("Enter UID, If no more UIDs, enter nothing and click OK", "Enter User")
If myWord = "" Then Exit Sub
Application.ScreenUpdating = False
Dim xRow&, NextRow&, LastRow&
NextRow = 1
LastRow = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For xRow = 1 To LastRow
If WorksheetFunction.CountIf(Rows(xRow), "*" & myWord & "*") > 0 Then
Rows(xRow).Copy Sheets("Sheet1").Rows(NextRow)
NextRow = NextRow + 1
End If
Next xRow
Application.ScreenUpdating = True
MsgBox "Copyng complete, " & NextRow - 2 & " rows containing" & vbCrLf & _
"''" & myWord & "''" & " were copied to Sheet1.", 64, "Done"
End Sub``
我试着给这个添加一个循环,但是每次通过它都会从Sheet1的顶部开始。同样,如果我再次调用Sub,我会得到相同的结果。
哎呀,我觉得这行: 行(xRow).Copy表( “工作表Sheet1”)行(NextRow) 需要更多这样的: 行(xRow).Copy表( “Sheet1”)。行(LastRow + 1) – Antibios