有选择地将行从一张纸复制到新纸上的新表

时间:2019-09-04 19:25:57

标签: excel vba

我有一个从访问数据库中提取的整个公司的报价日志。数据很好地填充到Excel中的工作表中。一栏包含该工作负责人的姓名缩写。

我想从该表中提取所有带有我的缩写的行,并将这些行仅复制到另一张纸上的新表中。我认为这可能是VBA的问题,我是VBA的新手,只是想找人指出正确的方向。

我可以使用if语句逐行浏览,但是这会在我的姓名首字母不存在的地方产生巨大的空白。

1 个答案:

答案 0 :(得分:0)

尝试一下。它在“ E”列中查找您的条件,然后将包含该条件的行(在这种情况下为"BW")复制到目标范围,该范围在此代码为("Sheet2")。希望这会有所帮助。

Sub Copyrowcriteria()
    Dim target As Worksheet
    Set target = ThisWorkbook.Worksheets("Sheet2")
    Dim i As Long
    For i = 1 To Cells(Rows.Count, "E").End(xlUp).Row
        If Cells(i, 5).Value = "BW" Then
            Range(Cells(i, 1), Cells(i, 5)).Copy destination:=target.Range("A" & target.Cells(Rows.Count, "A").End(xlUp).Row + 1)
        End If
    Next i
End Sub