VBA для объединения нескольких строк в одну из нескольких столбцов?

VBA для объединения нескольких строк в одну из нескольких столбцов?

Прошу прощения за длинный пост, но я хотел включить как можно больше информации. Мне удалось найти некоторую информацию в сети, но мне нужна помощь в ее изменении. Вот пример данных, которые мне нужно объединить ниже:

Мне нужно объединить эту таблицу:

Часть 1 Часть 2 Полный Отчет Поезд HRO Менеджер времени Участник Запланированное имя клиента ID клиента Клиентский Мигратор Руководитель
07.01.21 07.01.21 07.01.21 Джейн Доу 2/2/21 Джейн Доу Inc. 123456789 Сара Сьюзен
08.01.21 08.01.21 08.01.21 Джейн Доу 2/2/21 Джейн Доу Inc. 123456789 Сара Сьюзен
07.01.21 07.01.21 07.01.21 Джон Ди 01.03.21 Джон Ди 321654987 Ларри Боб
08.01.21 08.01.21 08.01.21 Джон Ди 01.03.21 Джон Ди 321654987 Ларри Боб

В эту таблицу:

Часть 1 Часть 2 Полный Отчет Поезд HRO Менеджер времени Участник Запланированное имя клиента ID клиента Клиентский Мигратор Руководитель
07.01.21 07.01.21 08.01.21 08.01.21 07.01.21 08.01.21 Джейн Доу 2/2/21 Джейн Доу Inc. 123456789 Сара Сьюзен
07.01.21;08.01.21 07.01.21;08.01.21 07.01.21 08.01.21 Джон Ди 01.03.21 Джон Ди 321654987 Ларри Боб

я нашелэта темадля того, как создать VBA, который делает этот тип объединения, но мои данные немного отличаются, и я не уверен, как изменить код, чтобы это произошло. Я скопирую и вставлю код ниже:

'Dim 2 search cells
Dim BlankCell As Range
Dim IdCell As Range
'Find Last row and column
Dim lRow As Long
lRow = Range("A1").End(xlDown).Row
Dim lColumn As Long
lColumn = Range("A1").End(xlToRight).Column
'Set the area to consider
Dim Rng As Range
Set Rng = Range(Cells(1, 1), Cells(lRow, lColumn))
'Select​ each blank cell in area
Rng.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
'And replace it with appropriate value
For Each BlankCell In Selection
For Each IdCell In Range(Cells(1, 1), Cells(lRow, 1))
If (IdCell.Value = Cells(BlankCell.Row, 1).Value And Cells(IdCell.Row, BlankCell.Column) <> "") Then
BlankCell = Cells(IdCell.Row, BlankCell.Column).Value
End If
Next IdCell
Next BlankCell
'Then​ erase duplicate lines
Rng.Select
ActiveSheet.Range(Cells(1, 1), Cells(lRow, lColumn)).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), _
Header:=xlYes

С помощью этого VBA он объединяет строки, используя столбец A в качестве идентификатора для сопоставления. Однако мне нужно, чтобы VBA сопоставлял столбец G в качестве идентификатора, и я не уверен, где редактировать, чтобы изменить столбец. А для ситуаций, когда мне нужно объединить все даты с разделителем ";", я не думаю, что этот VBA решает эту проблему. Что еще мне нужно добавить, чтобы это произошло успешно? Большое спасибо!

Связанный контент