如果Sheet 1上的某个列的值= x,我需要将整行复制到新工作表

时间:2014-03-31 16:12:11

标签: excel vba excel-vba

我们目前正在使用共享的Excel工作簿来跟踪小型企业的库存。表"库存清单"列出每个产品的价格,供应商,成本等。我们还创建了一个专栏来标记" x"如果我们需要订购产品。因此,如果有一个" x"在该列(E列)中,整行将被复制并粘贴到新工作表中。在这张新表上,我希望它们由供应商组织,即库存清单上的P列。如果你能提供帮助,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:0)

这假设您从包含数据的工作表中运行宏,并且已存在名为新工作表

的工作表
Sub dural()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = ActiveSheet
Set s2 = Sheets("New Sheet")
Dim K As Long, N As Long, i As Long

K = 1
N = s1.Cells(Rows.Count, "E").End(xlUp).Row
For i = 1 To N
    With Cells(i, "E")
        If .Value = "x" Then
            .EntireRow.Copy s2.Cells(K, 1)
            K = K + 1
        End If
    End With
Next i
End Sub