【发布时间】:2019-01-28 10:56:46
【问题描述】:
我必须在 Excel 中将信息与 VBA 一起分组,如果 Big Group 列和 Sub Group 列中有任何重复值,则这些行将合并为一行。
这就是表格的样子:
|Big Group|Sub Group| Animals
------------------------------
| A1 | a | raccoon
------------------------------
| B2 | b | dog
------------------------------
| B2 | c | tiger
------------------------------
| B2 | c | lion
------------------------------
| A1 | d | deer
------------------------------
| A1 | a | bear
------------------------------
我想将这些行组合成这样:
|Big Group|Sub Group| Animals
-----------------------------------
| A1 | a | raccoon; bear
-----------------------------------
| B2 | b | dog
-----------------------------------
| B2 | c | tiger; lion
-----------------------------------
| A1 | d | deer
-----------------------------------
我尝试过使用这个宏代码。它有效,但我唯一的问题是它只在它们彼此相邻的情况下合并行:
Sub combi()
Dim i As Long
lastRow = 7
For i = lastRow To 2 Step -1
If Cells(i, 2).Value = Cells(i - 1, 2).Value Then
Cells(i - 1, 3).Value = Cells(i - 1, 3).Value & ";" & Cells(i, 3).Value
Rows(i).Delete
End If
Next i
End Sub
Here is the table output with the macro above. 有人可以建议我改进这个宏的方法吗?
谢谢你,
鲁迪
【问题讨论】: