根据条件选择数据,然后根据匹配条件复制符合特定条件的行

时间:2018-10-22 13:05:51

标签: excel vba excel-vba excel-formula

我有一个主文件,其中包含时隙及其各自的详细信息。 L列标题为"Slot Status"。列A是一个从1-1000开始的唯一数字(例如A2=1, A3=2, A3=4 ...)。

"UnSlotted"工作表上,用户将更新信息以完成丢失的信息,这将导致M列(插槽状态)中的单元从"Info Required"变为"OK"


我目前正在使用下面的宏为包含“信息必需”的单元格自动过滤L列。然后,它将找到的数据复制到标题为"UnSlotted"的工作表中。

我现在正在寻找一个宏,该宏将选择M列包含"OK"的行,并将其复制到与各自唯一编号(A列)相匹配的行的"Master Sheet"上。
例如。唯一编号ID为"37",将此行复制到与唯一编号ID列匹配的行中的工作表“主”中。

Sub TestTHIS()

    Sheets("UnSlotted").Range("A6:M9999").Select
    Selection.ClearContents

    Dim ws As Worksheet
    Set ws = Application.Worksheets("Master File")

    Dim data_end_row_number As Integer
    data_end_row_number = ws.Range("a2").End(xlDown).Rows.Count

    ws.Range("A1:M1").AutoFilter field:=13, Criteria1:="Info required", VisibleDropDown:=True

    ws.Range("A2:M9999" & data_end_row_number).SpecialCells(xlCellTypeVisible).Copy
    Sheets("UnSlotted").Range("A6").PasteSpecial

    Worksheets("Master File").ShowAllData

End Sub

1 个答案:

答案 0 :(得分:0)

这可以解决问题。

您可能需要更改过滤(“确定”)所基于的列。现在,它是工作表“ UnSlotted”的M列。 您还可以更改应复制的行数(现在是从A列到AA。

VBA代码:

$F{image}

我的示例设置为:

应从中复制的工作表。 enter image description here

应复制到的工作表。 enter image description here