Nhóm dữ liệu bằng VBA trong Microsoft Excel
Trong bài viết này, chúng tôi sẽ tạo macro để nhóm dữ liệu thay mặt cho các điều kiện nhất định.
Dữ liệu thô bao gồm dữ liệu của nhóm Phát triển kinh doanh. Nó bao gồm Tên, Số điện thoại và Doanh số mỗi cuộc gọi.
Trong bài viết này, chúng tôi muốn nhóm dữ liệu theo tên đại lý và tổng doanh thu do từng đại lý tạo ra.
Giải thích logic
Chúng tôi đã tạo macro “DataGrouping”, thực hiện phép tính và nhóm dữ liệu được yêu cầu. Nó cung cấp một tên đại lý duy nhất và tổng doanh thu do mỗi đại lý tạo ra.
Giải thích mã
LngLastRow = Cells (Rows.Count, 1) .End (xlUp) .Row Đoạn mã trên được sử dụng để lấy số hàng của ô cuối cùng.
While Not Cells (i, 1) .Value = “”
Wend Đoạn mã trên được sử dụng để lặp cho đến khi gặp một ô trống.
For LngRow = LngLastRow To (i + 1) Step -1 Next LngRow Vòng lặp For ở trên được sử dụng để lặp ngược, bắt đầu từ hàng cuối cùng để chỉ định hàng đầu tiên.
Rng.Offset (0, 2) .Value = Rng.Offset (0, 2) .Value + Cells (LngRow, 3) .Value Đoạn mã trên được sử dụng để tổng hợp các giá trị dựa trên các tiêu chí đã chỉ định.
Rows (LngRow) .Delete Đoạn mã trên được sử dụng để xóa hàng.
Vui lòng theo dõi bên dưới để biết mã
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
Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.
Chúng tôi rất muốn nghe ý kiến từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]