在VBAcode中,如果必须引用某些工作表函数(例如Sum,Vlookup等),则可以通过使用Application对象直接使用它们。因此,我们将使用以下函数作为– Application.WorksheetFunction.Sum或Application.WorksheetFunction.Vlookup,其中_WorksheetFunction是Application对象的方法。_

考虑到我们有这个测试宏,如果我们键入_Application.WorksheetFunction._

我们将获得一个弹出窗口,其中显示下面的公式

IMG1

因此,例如,如果要使用vba-

sample

将A列中此范围的值求和让我们有一个名为SalesTotal的变量,它将变量保存在其中。要在SalesTotal中获得总计,我们将在标准模块中使用以下VBA代码:

_Sub macro4()

Dim SalesTotal和Long SalesTotal = Application.WorksheetFunction.Sum(Range(“ A2:A6”))

MsgBox SalesTotal End Sub_要将上面的代码复制到您的文件中,*按键盘上的Alt + F11。

  • 在左侧,您将看到Microsoft Excel对象。

  • 右键单击并选择插入。

  • 然后单击模块。

  • 将代码复制到右侧的代码窗口。

当使用此示例宏时,我们将收到一条消息,显示存储在Sales Total中的值,该值可在宏中的其他代码行中使用。

我们将获得的输出是-

IMG3

如果希望将SalesTotal显示在单元格A7中,则可以将代码行从Msgbox SalesTotal更改为_Worksheets(“ Sheet1”)。Range(“ A7”)。Value = SalesTotal_考虑到我们还需要这些数字在单元格中的平均销售额A9。

我们可以使用下面的代码__Sub macro5()

含工作表的Dim SalesTotal总计(“ Sheet1”)

SalesTotal = Application.WorksheetFunction.Sum(.Range(“ A2:A6”))

Range(“ A7”)。Value = SalesTotal .Range(“ A9”)。Value = Application.WorksheetFunction.Average(.Range(“ A2:A6”)))

End With End Sub__与上一个代码相比,此代码略有更改。

  • 我没有在平均值中使用变量,而是在计算后直接将该值填充到单元格A9中。因此,您将看到一行.Range(“ A9”)。Value = Application.WorksheetFunction.Average(.Range(“ A2:A6”))

  • msgbox行已删除。

  • 变量SalesTotal中的值进入单元格A7。

  • 理想情况下,您可以通过替换_SalesTotal = Application.WorksheetFunction.Sum(.Range(“ A2:A6”))_ .Range(“ A7”,为Sum代码行重复用于平均值的相同代码行”)。Value= SalesTotal_带.Range(“ A7”)。Value = Application.WorksheetFunction.Sum(.Range(“ A2:A6”))_但是,由于已保留它,因此您可以了解不同的处理方式编码相同的任务。同样,在使用Application.WorksheetFunction时,我们可以使用其他函数。我们可以直接在工作表中使用的所有这些函数,我们可以在此处使用它们。

这样可以更轻松地使用代码中的函数,因此我们无需计算公式即可计算所需的公式。

image 48

如果您喜欢我们的博客,请在Facebook上与您的朋友分享。您也可以在Twitter和Facebook上关注我们。

我们很高兴收到您的来信,请让我们知道我们如何改进,补充或创新我们的工作,并为您做得更好。给我们发送电子邮件至[email protected]