运行 VLookup 函数包含在 VBA 宏按钮中

Run VLookup function housed within a VBA Macro Button

我一直在研究 Vlookup 函数(在单元格中工作),如下所示:

=IFERROR(VLOOKUP(B2&"*", 'Sheet2'!$AC:$AC, 1, FALSE), "N/A")

这就是使用这个公式背后的全部想法:

我很难在我的 VBA 宏按钮中实现这个 VLookup 函数。我不想把它写在 E 列的单元格中。

这就是我的目标:

  1. 单击 VBA 按钮
  2. 根据要在 B 列中查找的项目数,如上所示对 E 列 Sheet1 中的所有值运行 vlookup
  3. 将查找值转换为 E 列中的字符串(而不是公式)

简而言之,只要知道如何将单元格中编写的 vlookup 函数转换为 VBA 宏按钮中编写的函数将非常有帮助。

谢谢!

值得庆幸的是,当您将公式应用于多单元格区域时,VBA 会自动调整公式。因此,您可以立即将创建的公式直接应用于整个列,而不必循环。

然后您可以.Value = .Value将公式转换为字符串。

Sub Example()
    Dim lastrow As Long
    lastrow = Sheet1.Cells(Sheet1.Rows.Count, 2).End(xlUp).Row
    
    Dim TargetRange As Range
    Set TargetRange = Sheet1.Range("E2:E" & lastrow)
    With TargetRange
        .Formula = "=IFERROR(VLOOKUP(B2&""*"", 'Sheet2'!$AC:$AC, 1, FALSE), ""N/A"")"
        .Value = .Value
    End With
End Sub

LastRow 用于 trim 使用区域的范围,因为 VLookUp 很昂贵,运行 它在整个列(甚至是空的部分)上会浪费很多时间。