VBA工作表功能|如何在VBA中使用WorksheetFunction?

Excel VBA工作表功能

VBA中的工作表功能 在必须引用特定工作表时使用,通常在创建模块时代码在工作簿的当前活动表中执行,但是如果我们要在特定工作表中执行代码,则使用工作表功能,该功能具有多种功能在VBA中的用途和应用。

关于VBA的最好之处在于,就像我们在工作表中如何使用公式一样,VBA也具有自己的功能。如果这是最好的,那么它也有一个美丽的事物,那就是“我们也可以在VBA中使用工作表函数”。

是的!!!您没听错,我们也可以访问VBA中的工作表函数。我们可以在编写代码时访问某些工作表函数,并将其纳入我们的代码中。

如何在VBA中使用工作表函数?

您可以在此处下载此VBA WorksheetFunction模板– VBA WorksheetFunction模板

在工作表中,所有公式均以等号(=)开头,在VBA编码中类似,为了访问工作表公式,我们应使用单词 “工作表功能”。

在输入任何工作表公式之前,您需要提及“ WorksheetFunction”对象名称,然后加上一个点(。),然后您将获得该对象下所有可用函数的列表。

在本文中,我们将专注于如何在VBA编码中使用工作表函数,这将为您的编码知识增加更多价值。

#1 –简单的SUM工作表功能

好的,首先要使用工作表函数,请在excel中应用简单的SUM函数,以从工作表中添加数字。

假设您在工作表中有每月的销售和成本数据,如下所示。

在B14和C14中,我们需要得出上述数字的总和。请按照以下步骤开始在Excel VBA中应用“ SUM”功能的过程。

步骤1: 创建一个简单的Excel宏名称。

代码:

 子Worksheet_Function_Example1()结束子 

第2步: 由于我们需要单元格B14中的结果,因此将代码启动为 范围(“ B14”)。值=

代码:

 Sub Worksheet_Function_Example1()Range(“ B14”)。Value =结束Sub 

第三步: 在B14中,我们需要该值作为数字总和的结果。因此,为了从工作表访问SUM函数,请以 “工作表功能”。

代码:

 子Worksheet_Function_Example1()范围(“ B14”)。值= WorksheetFunction。结束子 

第4步: 当您放置一个点(。)时,它将开始显示可用的功能。因此,从中选择SUM。

代码:

 Sub Worksheet_Function_Example1()Range(“ B14”)。Value = WorksheetFunction.Sum End Sub 

步骤5: 现在给出上述数字的参考,即 范围(“ B2:B13”)。

代码:

 Sub Worksheet_Function_Example1()Range(“ B14”)。Value = WorksheetFunction.Sum(Range(“ B2:B13”))En​​d Sub 

步骤6: 类似地,对于下一列,通过更改单元格引用来应用类似的代码。

代码:

 子Worksheet_Function_Example1()Range(“ B14”)。Value = WorksheetFunction.Sum(Range(“ B2:B13”))Range(“ C14”)。Value = WorksheetFunction.Sum(Range(“ C2:C13”)))End Sub 

步骤7: 现在,手动运行此代码,或使用F5键在B14和C14单元格中总计。

哇,我们有自己的价值观。您需要在这里注意的一件事是,工作表中没有任何公式,但是我们只是得到了VBA中“ SUM”函数的结果。

#2 –使用VLOOKUP作为工作表函数

我们将看到如何在VBA中使用VLOOKUP。假设以下是您在Excel工作表中的数据。

在E2单元中,您已经创建了所有区域的下拉列表。

根据您在E2单元中所做的选择,我们需要获取相应区域的Pin Code。但是这次是通过VBA VLOOKUP,而不是通过工作表VLOOKUP。请按照以下步骤应用VLOOKUP。

步骤1: 在子过程中创建一个简单的宏名称。

代码:

 子Worksheet_Function_Example2()结束子 

第2步: 我们需要F2单元格中的结果。所以开始代码为 范围(“ F2”)。值=

代码:

 Sub Worksheet_Function_Example2()范围(“ F2”)。值=结束Sub 

第三步: 要访问工作表功能,VLOOKUP将代码启动为 “ WorksheetFunction.VLOOKUP”。

代码:

 Sub Worksheet_Function_Example2()范围(“ F2”)。Value = WorksheetFunction.Vlookup(End Sub 

第4步: 这里的问题之一是语法不会为您提供有关使用VLOOKUP的任何指导。您需要绝对确定要使用的语法。

VLOOKUP的第一种语法是“查找值”。在这种情况下,我们的查找值为E2单元格值,因此将代码编写为 范围(“ E2”)。值

代码:

 Sub Worksheet_Function_Example2()范围(“ F2”)。Value = WorksheetFunction.Vlookup(Range(“ E2”)。Value,End Sub 

步骤5: 现在第二个参数是我们的表数组,在这种情况下,我们的表数组范围是从A2到B6。所以代码将是 范围(“ A2:B6”)

代码:

 Sub Worksheet_Function_Example2()范围(“ F2”)。Value = WorksheetFunction.Vlookup(Range(“ E2”)。Value,Range(“ A2:B6”),End Sub 

步骤6: 第三个参数将是我们需要表数组中数据的列。这里我们需要第二列中的数据,因此参数将为2。

代码:

 Sub Worksheet_Function_Example2()范围(“ F2”)。Value = WorksheetFunction.Vlookup(Range(“ E2”)。Value,Range(“ A2:B6”),2,End Sub 

步骤7: 最后一个参数是范围查找,我们需要精确匹配,因此参数为零(0)。

代码:

 子Worksheet_Function_Example2()Range(“ F2”)。Value = WorksheetFunction.VLookup(Range(“ E2”)。Value,Range(“ A2:B6”),2,0)结束子 

至此,我们完成了编码部分。现在转到工作表并选择任何范围。

现在转到编码模块,并使用F5键或手动运行宏以获取所选区域的密码。

我们不能每次都返回并运行宏,因此我们为形状分配一个宏。在工作表中插入形状之一。

将文本值添加到插入的形状。

现在,右键单击并将宏名称分配给该形状。

选择宏名称后,单击“确定”。

现在,此形状保存了我们的VLOOKUP公式的代码。因此,无论何时更改区域名称,都单击按钮,它将更新值。

要记住的事情

  • 要访问工作表功能,我们需要写一个词 “ WorksheetFunction”或“ Application.WorksheetFunction”
  • 我们只有少数几个功能无法使用。
  • 我们看不到工作表函数的实际语法,因此我们需要绝对确定所使用的函数。