循环&在另一个工作表中查找3个条件,并在满足条件时在空列中填充数据

时间:2017-07-30 08:47:31

标签: excel vba

我想要实现的是在详细信息选项卡中循环遍历所有数据行并查找以识别与“跟踪器”选项卡完全匹配的行。识别出跟踪器选项卡中的数据行后,将值的副本从列L设置为同一行的列S.

我之前曾试图在ICN号列上使用VLOOKUP方法实现,但由于它只是查看一个标准,因为数量不同,它与跟踪器中的正确行不匹配。

请帮忙!

编辑:我做了一个application.match编码,但我不知道代码有什么问题:

 Sub MatchPName_Amt_ICN()
    Dim cell As Range
    Dim NumRow, LastRow As Long
    Dim Sht1 As Worksheet
    Dim sPRng, sARng, sICNRng As Variant

    Set Sht1 = ActiveWorkbook.Sheets("Detail")

    LastRow = Sheets("Tracker").Range("A" & Rows.Count).End(xlUp).row
    NumRow = Sht1.Cells(Rows.Count, "A").End(xlUp).row

        For Each cell In Sheets("Tracker").Range("F2" & ":V" & LastRow)
            sPRng = Application.Match(1, Sht1.Range("H2" & ":H" & NumRow), 0)
            sARng = Application.Match(1, Sht1.Range("P2" & ":P" & NumRow), 0)
            sICNRng = Application.Match(1, Sht1.Range("V2" & ":V" & NumRow), 0)

                If Not IsError( _
                    sPRng = cell(0, "F").Value & _
                    sARng = cell(0, "L").Value & _
                    sICNRng = cell(0, "R").Value) Then

                    If cell(0, "V").Value = "" Then                    'If Tracker column V is empty
                    cell(0, "V").Value = cell.Offset(0, -10).Value    'The cell value = column L
                    End If
                End If
    Next cell

    On Error GoTo 0
End Sub

Excel file

上传的文件与我的工作文件不同,因为我必须删除一些P& C信息。

1 个答案:

答案 0 :(得分:0)

哪些列从哪个列到哪里?