[有人可以编辑或给我提供代码,该代码允许根据其中具有'Yes'的Y列将整个行复制到完成的工作表中,并在移动后删除寄存器中的前一行,非常感谢]]
Sub MoveCompletedProjects()
Const sCol$ = "Y" '<< search in col. Y
Const sCrit$ = "Yes" '<< criteria in col. Y
Dim ws As Worksheet, ws1 As Worksheet
Set ws = Sheets("Service Transition Register") '<< source sheet name
Set ws1 = Sheets("Completed Projects") '<< target sheet name
Dim r As Long, L As Long
L = ws1.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Application.ScreenUpdating = False
ws.AutoFilterMode = False
r = ws.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
If WorksheetFunction.CountIf(ws.Range(sCol & ":" & sCol), sCrit) > 0 Then '
ws.Cells(1, sCol).Resize(r).AutoFilter Field:=1, Criteria1:=UCase(sCrit)
ws.Rows(2 & ":" & r).SpecialCells(xlCellTypeVisible).Copy
With ws1.Cells(L + 1, 1)
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
Application.CutCopyMode = False
ws.AutoFilterMode = False
End If
Application.ScreenUpdating = True
End Sub
[有人可以编辑或给我提供代码,该代码可以根据其中具有'Yes'的Y列将整个行复制到完成的工作表中,并在移动后删除寄存器中的上一行,很多...
这是将同一工作簿中一个工作表的filter_copy_Paste粘贴到另一个工作表,然后从第一个工作簿中删除数据的基本代码。您将需要更改工作表,并确保工作表在具有宏的工作簿中。注释在宏中。如果您的数据超出Col "Y"
,则更改“ Y”。