在本文中,我们将创建一个宏来代表某些条件对数据进行分组。

原始数据由业务开发团队数据组成。它由姓名,电话号码和每个呼叫的销售额组成。

ArrowRawData

在本文中,我们想按业务代表姓名和每个业务代表产生的总收入对数据进行分组。

ArrowOutput

逻辑解释

我们创建了“ DataGrouping”宏,该宏执行所需的计算并将数据分组。它提供了唯一的代理商名称以及每个代理商产生的总收入。

代码说明

LngLastRow = Cells(Rows.Count,1).End(xlUp).Row上面的代码用于获取最后一个单元格的行号。

While Not Cells(i,1).Value =“”

Wend上面的代码用于循环直到遇到空白单元格。

For LngRow = LngLastRow To(i + 1)步骤-1下一个LngRow上面的For循环用于反向循环,从最后一行开始指定第一行。

Rng.Offset(0,2).Value = Rng.Offset(0,2).Value + Cells(LngRow,3).Value上面的代码用于根据指定的标准对值进行求和。

Rows(LngRow).Delete上面的代码用于删除行。

请遵循以下代码

Option Explicit

Sub DataGrouping()

'Declaring variables

Dim Rng As Range

Dim LngRow As Long, LngLastRow, i As Long

Application.ScreenUpdating = False

'Getting row number of last cell

LngLastRow = Cells(Rows.Count, 1).End(xlUp).Row

'Initializing the first row

i = 12

'Looping until blank cell is encountered in first column

While Not Cells(i, 1).Value = ""



'Initializing range object

Set Rng = Cells(i, 1)



'Looping from last row to specified first row

For LngRow = LngLastRow To (i + 1) Step -1



'Checking whether value in the cell is equal to specified cell

If Cells(LngRow, 1).Value = Rng.Value Then

Rng.Offset(0, 2).Value = Rng.Offset(0, 2).Value + Cells(LngRow, 3).Value

Rows(LngRow).Delete

End If

Next LngRow



i = i + 1



Wend

Application.ScreenUpdating = True

End Sub

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

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