Excel 环路及;在另一张工作表中查找3个条件,并在满足条件时在空列中填写数据

Excel 环路及;在另一张工作表中查找3个条件,并在满足条件时在空列中填写数据,excel,vba,Excel,Vba,我试图实现的是在Detail选项卡和lookup中循环所有数据行,以确定与Tracker选项卡完全匹配的行。一旦确定了“跟踪器”选项卡中的数据行,然后将值的副本从同一行的L列设置为S列 我以前曾尝试在ICN No.列上使用VLOOKUP方法实现,但由于它只查看一个标准,因此它与跟踪器中的正确行不匹配,因为金额不同 请帮忙 编辑:我做了一个应用程序。匹配编码,但我不知道代码有什么问题: Sub MatchPName_Amt_ICN() Dim cell As Range Dim

我试图实现的是在Detail选项卡和lookup中循环所有数据行,以确定与Tracker选项卡完全匹配的行。一旦确定了“跟踪器”选项卡中的数据行,然后将值的副本从同一行的L列设置为S列

我以前曾尝试在ICN No.列上使用VLOOKUP方法实现,但由于它只查看一个标准,因此它与跟踪器中的正确行不匹配,因为金额不同

请帮忙

编辑:我做了一个应用程序。匹配编码,但我不知道代码有什么问题:

 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


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

哪些列从哪些工作表转到哪里?

对于Tracker选项卡的列s,将值从同一行的列L复制到details选项卡?我想您需要的是索引匹配公式,请参阅下面的公式<代码>=INDEX(Detail!$L$2:$L$237,MATCH(R41612和Q41612,Detail!$V$2:$V$237和Detail!$U$2:$U$237,0))这只是一个公式,不是vba,但您可以通过使用求值函数在vba中使用它。此索引匹配版本基于多个条件,它比常规索引匹配公式更复杂,请参阅我附加的链接以获得更好的解释:。此外,详细信息选项卡是否已完成?您好,我希望在查找详细信息选项卡数据后,复制值出现在跟踪器的选项卡中。请将其放在跟踪器选项卡的s列中<代码>=索引(详细信息!$L$2:$L$237,匹配(跟踪器!R42675&跟踪器!F42675,详细信息!$V$2:$V$237&详细信息!$H$2:$H$237,0))将光标放在公式中,按control shift键并同时输入。为此,我将其放在第42675行的s列中,以对照details选项卡中实际存在的值进行测试。记住CONTROL SHIFT并与光标一起输入公式。让我知道进展如何。