如何使用vba电子表格功能?

要点

  • 您可以使用 WorksheetFunction 属性访问工作表函数以在宏中使用。

编写宏时如何在 VBA 中使用工作表函数

按照以下步骤在 VBA 中使用工作表函数。

  • 首先,指定要插入函数返回值的单元格。
    worksheet-function-in-vba
  • 之后,使用等号 (=) 并键入 Application.WorksheetFunction(正如您已经可以在 Excel 应用程序中执行的那样,您只能使用 WorksheetFunction)。
    use-an-equal-sign
  • 接下来,您需要输入一个句点 (.),输入后,您将获得电子表格中的函数列表。
    you-need-to-enter-a-dot
  • 从这里开始,我们使用 TextJoin 函数来连接单元格 A1 和 B1 中的文本。就像这样,您使用电子表格中的函数;当您输入起始括号时,它会显示您需要在单元格中指定的参数。
    use-the-textjoin-function
  • 正如您在上面的屏幕截图中看到的,它显示了您需要指定的参数,但没有显示参数名称。所以在使用它们之前你需要知道它们的参数。以下是您需要在 TextJoin 中使用的参数。
    arguement-before-using-testjoin
  • 现在让我们将参数输入到函数中。
    enter-arguement-in-the-function
    1. 定界: » «
    2. 忽略空:真
    3. text1:范围(“A1”)
    4. text2:范围(“B1”)

这是完整的代码。

 Sub MyMacro() Range("A1") = _ Application.WorksheetFunction.TextJoin _ (" ", True, Range("A2"), Range("A3")) End Sub

您可以在 VBA 中使用总共 387 个工作表函数。但有一些功能(例如: LEFT )不可用。

原因? VBA 中有一些内置函数可供您在编写 VBA 代码时使用。让我们看看您是否想使用消息框来获取函数的值。假设您想要获取名为“myValues”的范围的最大值。

代码是:

 Sub MyMacro() MsgBox Prompt:=WorksheetFunction.Max(Range("myValues")) End Sub

这就是获得消息框的方式:

命名范围-我的值

Application.WorksheetFunction 与 Application

有两种不同的方式来引用工作表函数。下面是执行相同活动的两行不同的代码。

应用程序工作表功能与应用程序
 Sub MyMacro() MsgBox Prompt:= _ Application.WorksheetFunction.Max(Range("myValues")) MsgBox Prompt:= _ Application.Max(Range("myValues")) End Sub

但使用第二种方法有一个优点。它返回错误代码而不是直接显示错误。

添加评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注