下面是一个示例代码,演示了如何使用VBA复制、筛选并根据条件粘贴到行的问题:
Sub CopyAndPaste()
Dim wsSource As Worksheet, wsTarget As Worksheet
Dim lastRow As Long, targetRow As Long
Dim criteria As String
' 设置源工作表和目标工作表
Set wsSource = ThisWorkbook.Worksheets("源工作表")
Set wsTarget = ThisWorkbook.Worksheets("目标工作表")
' 获取源工作表的最后一行
lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
' 设置要筛选的条件
criteria = "条件"
' 遍历源工作表的每一行
For i = 1 To lastRow
' 检查条件是否匹配
If wsSource.Range("A" & i).Value = criteria Then
' 获取目标工作表的下一行
targetRow = wsTarget.Cells(wsTarget.Rows.Count, "A").End(xlUp).Row + 1
' 复制源工作表的数据到目标工作表的下一行
wsSource.Range("A" & i & ":D" & i).Copy wsTarget.Range("A" & targetRow)
End If
Next i
End Sub
在这个示例中,我们首先设置源工作表和目标工作表。然后,我们使用End(xlUp)
方法获取源工作表的最后一行。接下来,我们设置了要筛选的条件。然后,我们使用一个循环来遍历源工作表的每一行,并检查条件是否匹配。如果条件匹配,我们将复制源工作表的数据到目标工作表的下一行。
您可以根据自己的需求修改代码中的工作表名称、条件和复制的范围。这只是一个示例,您可以根据自己的需求进行修改和扩展。