如果满足单个条件,Excel 2007 VBA代码将工作表1中的行复制到工作表2

时间:2015-03-29 16:58:08

标签: excel excel-vba vba

我有一张包含销售订单数据行的工作表(' CSVin')(从第2行到第101行)。如果'数量'列(列' C')大于0,我想将整行复制到另一个工作表(' CSVout'),从第2行开始。因此,有100行CSVin中的数据,但(例如)可能只有12行具有'数量'大于0,这12行需要复制到CSVout。

非常感谢任何帮助。

我已经为此查看了很多代码,但它们并不符合我的需求,而且我似乎无法正确修改它们,因为我没有太多VBA体验。

1 个答案:

答案 0 :(得分:0)

您需要以下代码。如果您可以将其合并到工作表中,请查看并告诉我们:

Sub SendToSheet2()
    Dim wsIn As Worksheet
    Dim wsOut As Worksheet
    Dim rngToCopy As Range

    Set wsIn = Worksheets("CSVin")
    Set wsOut = Worksheets("CSVOut")
    Set rngToCopy = wsIn.Range("A1").CurrentRegion

    wsOut.Cells.ClearContents

    rngToCopy.AutoFilter field:=3, Criteria1:=">0"

    rngToCopy.SpecialCells(xlCellTypeVisible).Copy wsOut.Range("A1")

    wsIn.AutoFilterMode = False
End Sub