如果行中的单元格符合条件,则返回整行数据

时间:2015-03-26 16:58:41

标签: excel vba excel-vba lookup

我有一张有两张纸的工作簿。 第一个(表1)包含大量数据(~70.000行和列A-G)。 第二个(表2)是空的。

问题是,如果单元格符合某个条件,我需要将整行数据从Sheet 1复制到Sheet 2。我会尝试具体:

在表1中,列B具有一些不同的值。如果B列中单元格中的值为5 Mathias,我需要将整行数据(列AG)复制到工作表2.如果这可能导致工作表2中的数据块,那将非常简洁看起来就像Sheet 1一样,除了事实之外,它们在B列中共享相同的值。如果我可以每月在Sheet 1的底部添加更多数据行,那么更酷的是,然后Sheet 2会自行更新

到目前为止,我已尝试查找但没有任何真正的运气。

我希望这是可能的,并且我已经以一种体面的方式解释了它!

1 个答案:

答案 0 :(得分:0)

以下代码检查Sheet1中的数据,然后根据列出的条件将数据移至Sheet2。如果您可以将其合并到工作簿中,请告诉我。

Sub CopyFromSheetToOther()
    Dim wsOrigin As Worksheet
    Dim wsDest As Worksheet
    Dim rngData As Range

    Const CRITERIA As String = "Matt"

    Set wsOrigin = Worksheets("Sheet1")
    Set wsDest = Worksheets("Sheet2")
    wsDest.Cells.ClearContents
    Set rngData = wsOrigin.Range("A1").CurrentRegion

    rngData.AutoFilter field:=2, Criteria1:=CRITERIA
    rngData.Copy wsDest.Range("A1")

    wsOrigin.AutoFilterMode = False

End Sub