以下是一个简单的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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录