Excel 有选择地将一张工作表中的行复制到新工作表上的新表中

Excel 有选择地将一张工作表中的行复制到新工作表上的新表中,excel,vba,Excel,Vba,我从access数据库中提取了整个公司的报价日志。数据很好地填充到Excel中的工作表中。其中一列有负责该工作的人员的姓名首字母缩写 我想从这个表中提取所有包含我姓名首字母的行,然后只将这些行复制到另一张表中的新表中。我想这可能是VBA的问题,我是VBA新手,只是想找人给我指出正确的方向 我可以用if语句一行一行地往下看,但这会在我的首字母不存在的地方造成巨大的空白。试试这个。它在列“E”中查找您的条件,然后将包含该条件的行(在本例中为“BW”)复制到目标范围,在此代码中该范围为(“Sheet2

我从access数据库中提取了整个公司的报价日志。数据很好地填充到Excel中的工作表中。其中一列有负责该工作的人员的姓名首字母缩写

我想从这个表中提取所有包含我姓名首字母的行,然后只将这些行复制到另一张表中的新表中。我想这可能是VBA的问题,我是VBA新手,只是想找人给我指出正确的方向


我可以用if语句一行一行地往下看,但这会在我的首字母不存在的地方造成巨大的空白。

试试这个。它在列“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

你能展示一下到目前为止你试过的代码吗?但是我猜测,对于每个语句,一个
将是最好的方法。=如果(Sheet3!E36=“BW”,Sheet3!L36“”)是我想到的全部,这只是逐行进行,并在找不到BW的地方留下很大的空白。您是否有专门要求VBA/基于代码的解决方案的约束?这对于使用数据>过滤器的用户来说很容易做到?如果你真的需要通过VBA来实现这一点,你可以试试Range(“你定义的范围”)。AutoFilterI没有!我只是对所有这些都不熟悉,并认为这将是一种方式。我将查看数据过滤器,谢谢!