Группировка данных с помощью VBA в Microsoft Excel
В этой статье мы создадим макрос для группировки данных от имени определенных условий.
Необработанные данные состоят из данных группы развития бизнеса. Он состоит из имени, номера телефона и продаж за звонок.
В этой статье мы хотим сгруппировать данные по имени агента и общей прибыли, полученной каждым агентом.
Логическое объяснение
Мы создали макрос «DataGrouping», который выполняет необходимый расчет и группировку данных. Он дает уникальное имя агента и общий доход, полученный каждым агентом.
Объяснение кода
LngLastRow = Cells (Rows.Count, 1) .End (xlUp) .Row Приведенный выше код используется для получения номера строки последней ячейки.
Пока не ячейки (i, 1) .Value = «»
Wend Приведенный выше код используется для цикла до тех пор, пока не будет обнаружена пустая ячейка.
For LngRow = LngLastRow To (i + 1) Step -1 Next 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]