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/lKqF 著作权归作者所有。请勿转载和采集!