我有一列唯一值(A)和第二组列,其中的值来自一组唯一值(B)和另一个值(C)。
本质上,我要做的是遍历所有唯一值 A,然后有一个内部循环来遍历 B,它可能多次具有来自 A 的相同值,并且每次找到匹配项时,添加值( C) 到一个连接的字符串,然后当它找到所有这些值时,将其插入一个新单元格并移动到下一个 A 值并执行相同操作。
我遇到了各种错误,并尝试了几种方法,但根本不经常使用 VBA,我没有到达那里,也没有找到任何好的信息。
关于如何做到这一点的任何帮助或想法都会有所帮助,下面是我正在使用的代码。
这基本上就是电子表格的样子
Column A ----- Column B -------- Column C
A-----------------A---------------stringA
A-----------------A --------------stringB
C-----------------B---------------stringC
所以在我的新列中,列 AI 旁边会插入 stringA、stringB。
希望这是有道理的。
Sub contactStuff()
Dim roleName As String
Dim rowNumber As Integer
Dim userName As String
Dim userRoleName As String
Dim concatString As String
Dim roleNumber As Integer
roleNumber = 2
rowNumber = 2
For Each c In Worksheets("parentRoles").Range("C2:C856").Cells
roleName = c.Value
Do
userRoleName = Worksheets("parentRoles").Range("G" & rowNumber)
If userRoleName = roleName Then
contactString = concatString & ", " & Worksheets("parentRoles").Range("E" & rowNumber)
rowNumber = rowNumber + 1
End If
Loop While userRoleName = roleName
Worksheets("parentRoles").Range("D" & roleNumber).Value = concatString
Next
End Sub