我很抱歉发了这么长的帖子,但我想包含尽可能多的信息。我在网上找到了一些信息,但我需要帮助修改。下面是我需要合并的数据示例:
我需要合并此表:
第1部分 | 第2部分 | 满的 | 报告 | HRO列车 | 时间管理器 | 出席者 | 已安排 | 客户名称 | 客户端 ID | 客户端迁移器 | 导师 |
---|---|---|---|---|---|---|---|---|---|---|---|
1/7/21 | 1/7/21 | 1/7/21 | 无名氏 | 2/2/21 | Jane Doe 公司 | 123456789 | 莎拉 | 苏珊 | |||
1/8/21 | 1/8/21 | 1/8/21 | 无名氏 | 2/2/21 | Jane Doe 公司 | 123456789 | 莎拉 | 苏珊 | |||
1/7/21 | 1/7/21 | 1/7/21 | 约翰·迪 | 3/1/21 | 约翰·迪 | 321654987 | 拉里 | 鲍勃 | |||
1/8/21 | 1/8/21 | 1/8/21 | 约翰·迪 | 3/1/21 | 约翰·迪 | 321654987 | 拉里 | 鲍勃 |
进入此表:
第1部分 | 第2部分 | 满的 | 报告 | HRO列车 | 时间管理器 | 出席者 | 已安排 | 客户名称 | 客户端 ID | 客户端迁移器 | 导师 |
---|---|---|---|---|---|---|---|---|---|---|---|
1/7/21 | 1/7/21 | 1/8/21 | 1/8/21 | 1/7/21 | 1/8/21 | 无名氏 | 2/2/21 | Jane Doe 公司 | 123456789 | 莎拉 | 苏珊 |
1/7/21;1/8/21 | 1/7/21;1/8/21 | 1/7/21 | 1/8/21 | 约翰·迪 | 3/1/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 无法解决这种情况。我还需要添加什么才能成功实现这一点?非常感谢!