在VBA中使用VlookUp从下到上进行搜索

时间:2017-07-13 12:51:19

标签: excel vba excel-vba vlookup excel-2013

我在更大的宏中使用一块VBA来备份一些评论。 当返回这些注释时,我在VBA中使用Vlookup。问题是,Vlookup从上到下进行搜索。我想转过来,让它从下到上进行搜索。我将如何实现这一目标? 我已经没有谷歌选项了。 试图从中吸取教训,如果可能的话,请解释一下你的解决方案。

确切地说,我正在使用下面添加的代码:

<p-dataTable [value]="objectList" >
   <p-column *ngIf="object.property"></p-column>
</p-dataTable>

1 个答案:

答案 0 :(得分:3)

因此,您可以使用.Find而不是VlookUp。使用此功能,您可以阐明搜索方向,xlPrevious将从下到上进行搜索。唯一的区别在于returnvalue,它返回带有匹配的单元格。匹配行(rng.Row)现在可用于从右列获取数据集。

Dim sht As Worksheet, sht As Worksheet
Set sht = Sheets("16-Compliancy-Rebuild")
Set sht2 = Sheets("OpmerkingBackup")
Dim Dept_Row As Long
Dim Dept_Clm As Long
Dim rng As Range
Table1 = sht.Range("D85:D750")
Table2 = sht2.Range("B2:B750")
Dept_Row = sht.Range("H85").Row
Dept_Clm = sht.Range("H85").Column
For Each cl In Table1
    Set rng = Table2.Find(cl, SearchDirection:=xlPrevious, LookAt:=xlWhole)
    If Not rng Is Nothing Then
        sht.Cells(Dept_Row, Dept_Clm) = sht2.Cells(rng.Row, 6).Value
    End If
  Dept_Row = Dept_Row + 1
Next cl

除此之外,我还使用工作表的变量来更容易更改和修改。