У меня есть отчет в формате Excel, который имеет поле номера дела в отношениях один ко многим с другими полями.Например: если дело обрабатывается несколькими командами, для каждой команды есть отдельные записи.
Я пытаюсь удалить дубликаты, объединяя значения строк, сравнивая номер дела.
Дело № Тип команды Название Страна
111 aa xx Название страны
111 бб гг Название страны
Я хочу выводбыть:
Дело № Тип Команда Имя Страна
111 aa, bb xx, yy Название страны
У меня есть код VBA ниже:
Sub mergeCaseNumberValues()
Dim lngRow As Long
With ActiveSheet
Dim columnToMatch As Integer: columnToMatch = 1
lngRow = .Cells(65536, columnToMatch).End(xlUp).Row
.Cells(columnToMatch).CurrentRegion.Sort key1:=.Cells(columnToMatch), Header:=xlYes
Do
If .Cells(lngRow, columnToMatch) = .Cells(lngRow - 1, columnToMatch) Then
For i = 2 To 12
.Cells(lngRow - 1, i).Value = .Cells(lngRow, i).Value & .Cells(lngRow - 1, i).Value
Next i
.Rows(lngRow).Delete
End If
lngRow = lngRow - 1
Loop Until lngRow = 1
End With
End Sub
Это дает мне:
Дело № Тип Название команды Страна
111 aabb xxyy NameName countrycountry
В данных только команда и тип отличаются для каждой записи, остальные значения одинаковы.Как мне изменить мой VBA, чтобы получить результат?Может кто-нибудь помочь, пожалуйста?