如何根据特定条件将行内容复制到新工作表中?

时间:2013-11-20 20:29:23

标签: excel excel-vba google-sheets excel-formula vba

(A1) Date   (B1)RMA   Created By    (C1)Item Code... (I1)Resell?...

现在I1有一个下拉列表,其中包含选项“是”和“否”

如果I1的值为“YES”,我如何将整行(A2:M2)复制到下一张名为“RMA Re-Sell Items”的表格中

我尝试使用“if”功能,但遇到了麻烦。

3 个答案:

答案 0 :(得分:1)

  • 使用自动过滤器
  • 过滤第I列的数据,值为是
  • 选择过滤后的数据
  • 复制
  • 粘贴到下一张纸上

答案 1 :(得分:1)

复制条目表的工作表模块中的附件

Private Sub Worksheet_Change(ByVal Target As Range)

'turn off updates to speed up code execution
With Application
    .ScreenUpdating = False
    .EnableEvents = False
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
End With

If Not Intersect(Columns("I"), Target) Is Nothing Then

    If Intersect(Columns("I"), Target.EntireRow) = "Yes" Then

        Target.EntireRow.Copy Sheets("RMA Re-Sell Items").Cells(Rows.Count, 9).End(xlUp).Offset(1).EntireRow

    End If

End If

With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
    .DisplayAlerts = True
End With

End Sub

答案 2 :(得分:0)

我已经想出来了= FILTER('RMA FILE'!A:M;'RMA FILE'!我:I =“是”)但我现在遇到的问题是这个函数然后按日期对它进行排序希望它按上次添加的行排序。

此功能的当前应用示例,按日期自动排序:

11-11-12 ABC ABC ... ...
11-12-12 ....  ... .. ..
11-13-12 ... ... ... .. 

我希望按照上次添加的顺序对范围进行排序,如果用户在“RMA文件”表上选择“是”,我希望按照该选项对其进行排序,无论哪个被选为“是”,都应该去到底,不是基于日期。