以下是一个简单的 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' 替换为实际的筛选条件。

VBA 筛选并复制指定内容到其他工作表

原文地址: https://www.cveoy.top/t/topic/lKqF 著作权归作者所有。请勿转载和采集!

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