vba筛选复制指定内容到其他工作表
以下是一个简单的VBA代码示例,可以根据指定的条件筛选出符合条件的行,并将其复制到其他工作表中:
Sub FilterAndCopy()
Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim lastRow As Long Dim i As Long, j As Long
Set wsSource = ThisWorkbook.Sheets("原始数据") '原始数据所在的工作表 Set wsTarget = ThisWorkbook.Sheets("目标数据") '目标数据要复制到的工作表
lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row '获取最后一行的行号
j = 1 '目标数据从第一行开始复制 For i = 2 To lastRow '从第二行开始循环(第一行可能是表头)
'根据指定条件筛选数据
If wsSource.Cells(i, "B").Value = "条件1" And wsSource.Cells(i, "C").Value = "条件2" Then
'将符合条件的行复制到目标工作表
wsSource.Rows(i).Copy wsTarget.Rows(j)
j = j + 1 '目标数据行号加1
End If
Next i
End Sub
在上面的代码中,我们首先声明了两个变量wsSource和wsTarget,分别代表原始数据所在的工作表和目标数据要复制到的工作表。然后,我们使用lastRow变量获取原始数据中最后一行的行号。
接下来,我们使用一个循环来遍历原始数据中的每一行,从第二行开始(因为第一行可能是表头)。然后,我们使用条件语句来判断当前行是否符合指定的条件。如果符合条件,我们就将该行复制到目标工作表中,并将目标数据行号加1。
最后,我们可以调用这个子过程来执行筛选和复制操作。请确保将“原始数据”和“目标数据”替换为实际的工作表名称,并将“条件1”和“条件2”替换为实际的筛选条件。
原文地址: https://www.cveoy.top/t/topic/xbz 著作权归作者所有。请勿转载和采集!