Консолидация, объединение и сумма значений в vba

У меня есть таблица, в которой есть дубликаты одного и того же человека, и я хочу объединить их в одну строку, суммируя два столбца, назначенные каждой строке данных.

Например: введите описание изображения здесь

Я хочу объединить данные в столбцах A-D, используя столбец A в качестве моей «контрольной точки» для того, что нужно сопоставить. Затем я хочу, чтобы значения были добавлены вместе в столбцах E и F. Давая мне результаты ниже.

введите описание изображения здесь

Я уверен, что есть простое решение для этого, но я довольно новичок в VBA и ничего не встречал.

благодаря

Это можно сделать, используя следующий код:

Sub foo() LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row For x = 2 To LastRow Sheet1.Cells(x, 7).Value = "=SUMIF(R1C1:R17C6,RC[-6],C[-2])" Sheet1.Cells(x, 8).Value = "=SUMIF(R1C1:R17C6,RC[-7],C[-2])" Next x Range("G2:H" & LastRow).Copy Range("G2:H" & LastRow).PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks:=False, Transpose:=False Range("E2:F" & LastRow).Delete Shift:=xlToLeft Sheet1.Range("$A$1:$H$" & LastRow).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8), Header:=xlNo End Sub 

В сущности, код суммирует все значения в столбце G & H, затем копирует и вставляет как значения (чтобы избавиться от формул на ячейках), затем удаляет содержимое из столбцов E & F, сдвигая влево, чтобы принести новые значения в правые столбцы и, наконец, удаляет любые дубликаты, чтобы предоставить вам скомпилированный список по вашему желанию.

Interesting Posts
Давайте будем гением компьютера.