0

我正在编写一个 VBA 函数,它将在表的列(例如列 C)中搜索一个值。此列可以有重复项。因此,我的搜索需要获取与该值匹配的所有记录(包括重复项),并且从这些记录中,我只需要返回在同一张表的另一列(例如 G 列)中获取的记录中具有最大值的记录中的一个值。

例如:

sno    dept    name     marks
1      cs      sush     55
2      ece     ram      68
3      cs      harish   77

因此,如果我给“cs”值进行搜索,它必须给我 77 作为输出。我尝试编写自己的查找函数,但没有工作并获得#value。

4

1 回答 1

0
Function search(criteria As String)
    Dim rng As Range
    Set rng = Range("A1").CurrentRegion

    Range("Z1").CurrentRegion.Clear
    If Not rng Is Nothing Then
        rng.AdvancedFilter xlFilterCopy, "", Range("Z1"), True
        Range("AC1").Sort Key1:=Range("AA1"), Key2:=Range("AC1"), Header:=xlYes, Order2:=xlDescending
    End If



    search = Application.VLookup(criteria, Range("AA:AC"), 3, 0)

End Function
于 2013-03-01T06:41:40.617 回答