在本文中,我们将创建一个自定义函数来计算工作簿中所有工作表在定义范围内的单元格总和。

此示例的原始数据由多张纸组成。每个工作表都包含销售团队的数据,其中包括销售人员的姓名和工作人员在工作表名称指定的日期出售的商品数量。

在所有工作表上,销售数据在A6:B16范围中的顺序相同。

ArrowRaw

在“主要”表上,我们需要不同销售人员完成的销售总数。要计算销售总数,我们必须将工作簿中所有工作表的销售数量相加。

ArrowMain

我们使用自定义函数“ SumRangeOfAllSheets”来计算不同销售人员的销售总数。自定义函数“ SumRangeOfAllSheets”将范围作为输入。

ArrowOutput

逻辑解释

我们创建了自定义函数“ SumRangeOfAllSheets”,以计算工作簿中所有工作表的已定义范围内的单元格中的值之和。自定义函数“ SumRangeOfAllSheets”将范围作为输入。此函数在所有工作表的定义范围的单元格中添加值。

代码说明

WorksheetFunction.Sum WorksheetFunction对象用于从Visual Basics访问Excel工作表函数。我们已使用Excel工作表的SUM函数将范围内的值相加。

InputRange.Address上面的代码用于通过“ InputRange”范围对象返回指定范围的地址。

请遵循以下代码

Option Explicit

Function SumRangeOfAllSheets(InputRange As Range)

'Declaring variables

Dim i As Integer

Dim Total As Long

'Looping through the sheets in the worksheets collection starting from second sheet

For i = 2 To Worksheets.Count

'Calculating the sum for specified range of all the sheets

Total = Total + WorksheetFunction.Sum(Worksheets(i).Range(InputRange.Address))

Next

SumRangeOfAllSheets = Total

End Function

如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。

我们很希望收到您的来信,请让我们知道我们如何才能改善我们的工作并使您的工作更好。写信给我们[email protected]