下面是一个简单的 VBA 代码示例,用于根据列表的类别名称筛选并将内容复制到指定工作表:

Sub FilterAndCopy()

    Dim sourceSheet As Worksheet
    Dim destSheet As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    '设置源工作表和目标工作表
    Set sourceSheet = ThisWorkbook.Sheets("Sheet1")
    Set destSheet = ThisWorkbook.Sheets("Sheet2")
    
    '获取源工作表中最后一行的行号
    lastRow = sourceSheet.Range("A" & Rows.Count).End(xlUp).Row
    
    '遍历源工作表中的每一行
    For i = 2 To lastRow '假设第一行为标题行,从第二行开始
        If sourceSheet.Cells(i, 1).Value = "类别A" Then '根据类别名称筛选
            '将符合条件的行复制到目标工作表的下一行
            sourceSheet.Range("A" & i & ":D" & i).Copy destSheet.Range("A" & Rows.Count).End(xlUp).Offset(1)
        End If
    Next i

End Sub

在上面的代码中,假设源工作表为名为“Sheet1”的工作表,目标工作表为名为“Sheet2”的工作表。代码首先获取源工作表中最后一行的行号,然后遍历源工作表中的每一行,并根据类别名称筛选符合条件的行。如果符合条件,则将该行的内容复制到目标工作表的下一行。请根据实际情况修改代码中的工作表名称和类别名称。


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

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