生成在Excel中使用VBA动态区域总
|在本文中,我们将创建一个自定义函数来生成动态范围的总计。
本文的原始数据由随机数组成。
在此示例中,我们要计算每列中所有单元格的值之和。每列具有不同数量的值。
我们创建了一个自定义函数“ DynaSum”来计算所有单元格中的值之和。
自定义函数“ DynaSum”计算所有连续单元格的值之和。此函数将求和所有值,直到遇到空白单元格。
如果我们在定义的值之上添加任何其他值,则这些值将自动添加。
代码说明
设置Rng = Application.Caller上面的代码用于将包含自定义函数的单元格分配为Range对象。
请遵循以下代码
Option Explicit Function DynaSum(Optional Rng As Range) 'Declaring variables Dim Total As Double Dim LngRow As Long Dim LngCol As Integer 'Refresh function when value in worksheet is changed Application.Volatile 'Assigning range if Range is not specified in the function If Rng Is Nothing Then Set Rng = Application.Caller End If 'Getting the column and row number LngCol = Rng.Column LngRow = Rng.Row - 1 'Looping through all the cells in the column until blank cell is encountered Do Until IsEmpty(Cells(LngRow, LngCol)) Total = Total + Cells(LngRow, LngCol) LngRow = LngRow - 1 If LngRow = 1 Then Exit Do Loop 'Getting output DynaSum = Total End Function
如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。
我们很希望收到您的来信,请让我们知道我们如何才能改善我们的工作并使您的工作更好。写信给我们[email protected]