Excel 2007 VBA代码,用于在满足单个条件时将行从工作表1复制到工作表2

Excel 2007 VBA代码,用于在满足单个条件时将行从工作表1复制到工作表2,excel,vba,Excel,Vba,我有一个工作表“CSVin”,其中包含从第2行到第101行的销售订单数据行。如果'quantity'列'C'大于0,我想从第2行开始将整行复制到另一个工作表'CSVout'。因此,CSVin中有100行数据,但例如,可能只有12行“数量”大于0,这12行需要复制到CSVout 任何帮助都将不胜感激 我已经看过很多这方面的代码,但它们不符合我的需要,而且我似乎无法正确修改它们,因为我没有很多VBA经验。您需要下面这样的代码。请检查并告知我您是否可以将其纳入工作表: Sub SendToSheet2

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

任何帮助都将不胜感激


我已经看过很多这方面的代码,但它们不符合我的需要,而且我似乎无法正确修改它们,因为我没有很多VBA经验。

您需要下面这样的代码。请检查并告知我您是否可以将其纳入工作表:

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