VBA Vlookup

2025年3月17日 | 阅读 3 分钟

众所周知,VLookup 是 Microsoft Excel 中的一个工作表函数,但它也可以在 VBA(Virtual Basic for Application)中使用。 VLookup 的功能类似于 VBA 和工作表中的功能。

在 Microsoft Excel 中,VLookup 函数主要用于在数组中搜索一个值,并从另一个列中返回其对应的值。搜索值应分别存在于第一列中。

VLookup 工作表函数可以在 VBA 编码中使用。该函数只能通过使用工作表调用,而不能内置于 VBA 中。

语法

VLookup 函数在 Microsoft Excel VBA 中遵循以下语法

其中,

  • Lookup_value: 主要是我们正在搜索的值。
  • Table_array: 它被认为是我们在其中搜索的范围。
  • Col_index_num: 也是返回值的列号。
  • Range_lookup: Range_lookup 告诉我们匹配是精确匹配还是近似匹配。它可以是 0/1 或 true/false;我们可以使用 "false" 来查找精确匹配。我们还可以使用 "true" 假设第一列是按数字或字母顺序排序的。

如何在 Microsoft Excel VBA 中使用 Vlookup 函数?

步骤 1: 首先,我们必须单击 Developer 选项卡并选择 Visual Basic 选项。

VBA VLookup

步骤 2: 之后,我们必须单击 Insert 按钮并添加一个 Module

VBA VLookup

步骤 3: 然后编写 VLookup 程序。

步骤 4: 现在只需使用 Run 按钮运行代码。

让我们看看借助下面给出的一些示例,在 Excel VBA 中调用 VLookup 函数

示例

假设我们有员工的月薪数据,下表使用对话框显示员工的薪水。

数据在 B 列和 C 列中给出。员工 ID 在 A 单元格中,员工姓名在 B 单元格中,员工的薪水在 C 单元格中返回。

VBA VLookup

步骤 1: 首先,我们需要写下 VLookup 代码。然后,我们将定义数据所在的范围,即 A、B 和 C 列。

之后,我们必须将“员工姓名”定义为单元格 B2,将“工资”定义为单元格 C11。使用 WorksheetFunction 调用 VLookup 函数,并将其分别放入 Sal 中。

VBA VLookup

步骤 2: 如上例所示,我们使用变量“E_name”来存储要获取其工资的员工姓名。它将员工姓名提供给 VLookup,它返回该员工的工资。

之后,我们需要使用 Run 按钮执行代码。 我们将获得如下所示的输出。

VBA VLookup

示例 2: 在这里,我们在上表中添加一列新的列,即 Department(部门)

VBA VLookup

步骤 1: 我们需要编写 VLookup 代码。 并定义数据所在的范围,即 A、B、C 和 D 列。

之后,我们需要编写代码以使用 WorksheetFunction 根据员工 ID 调用 VLookup 函数。

步骤 2: 如上例所示,我们要求用户输入员工 ID,然后我们在一个消息框中使用多个 VLookup 语句和所有详细信息。

使用 Run 按钮运行上述代码,输入我们要输入的员工 ID,然后单击 OK(确定) 按钮。

VBA VLookup

步骤 3: 之后,我们需要单击 OK(确定) 按钮,之后,我们将获得如下所示的输出

VBA VLookup
下一个主题VBA 日期格式