以下是一个示例代码,可以根据多个类别名称筛选复制内容到指定工作表:

Sub FilterAndCopy()

Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim lastRow As Long
Dim i As Long
Dim category1 As String
Dim category2 As String

'设置原始和目标工作表
Set wsSource = ThisWorkbook.Sheets("原始数据")
Set wsDest = ThisWorkbook.Sheets("目标数据")

'设置类别名称
category1 = "类别1"
category2 = "类别2"

'获取原始工作表的最后一行
lastRow = wsSource.Cells(Rows.Count, "A").End(xlUp).Row

'循环遍历原始工作表
For i = 2 To lastRow '假设第一行为标题行
    '如果行的“类别”列包含所需的类别名称,则将其复制到目标工作表
    If InStr(1, wsSource.Cells(i, "B").Value, category1, vbTextCompare) > 0 Or _
       InStr(1, wsSource.Cells(i, "B").Value, category2, vbTextCompare) > 0 Then
        '将该行数据复制到目标工作表
        wsSource.Rows(i).Copy wsDest.Cells(Rows.Count, "A").End(xlUp).Offset(1)
    End If
Next i

End Sub

在此示例中,我们假设原始数据工作表的第一列是序号,第二列是类别名称,第三列及以后是其他数据。我们希望筛选出包含“类别1”或“类别2”的行,并将其复制到目标数据工作表。您可以根据自己的需求修改代码。

VBA 筛选数据:根据类别名称复制内容到指定工作表

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

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