VBA根据多个列和条件创建多个列表

时间:2018-10-31 16:18:01

标签: excel vba copy criteria

我有两张纸,一张有大型数据集的输入纸(输入SAP),另一张是我希望根据不同的标准列出实例的表,但也要根据不同的类别列出实例(输出)。我想按“输出”中的按钮并获取不同的列表。在下面的代码中,有两个列表,但是会有更多。

输出工作表将是这样的:E列将列出所有SAP号,而输入工作表中H列为空白。 G列将列出O列等于零的所有SAP编号。

使用下面的代码正确填充E列,但G列无任何反应。我不知道如何在同一子代码中填充几列。我也不想不进行单独的行定义,因为会有大概的行。最后列出了10个不同的列表。

非常感谢您的帮助!

__setattr__

1 个答案:

答案 0 :(得分:1)

更有效的循环方式是:

irowE = 7
irowG = 7
RowNo = 2

Do Until iws.Cells(RowNo, 2) = ""
    If iws.Cells(RowNo, "H") = "" Then
        ws.Cells(irowE, "E") = iws.Cells(RowNo, 2)
        irowE = irowE + 1
    End if
    If iws.Cells(RowNo, "O") = 0 Then
        ws.Cells(irowG, "G") = iws.Cells(RowNo, 2)
        irowG = irowG + 1
    End If
    RowNo = RowNo + 1
Loop

在10个列表中拥有10个不同的变量似乎很痛苦,但是由于您只循环浏览输入表一次,因此它将大大加快速度。