Excel通过匹配ID连接

时间:2014-01-14 09:32:39

标签: excel excel-vba vba

我有一个表格,它导出了与我网站上的用户帐户相关的信息记录数据库。我的最终结果是将信息从旧的数据库结构移动到导入函数中,因此在开始导入之前,我需要在新表中获得正确的格式。

这就是它的开头,虽然是简化版

Opening Database

我正在尝试检查UserID列中匹配的任何数据,并将这些值放入Value列(如果更容易实现,则将新值列入新列)

所以这就是我希望它看起来的方式

Concatenated values

假设这不是可以通过Excel格式化完成的,所以我认为它需要是一个自定义函数,但我不知道足够的VB自己编写它。

*在任何人建议之前,我坚持使用此版本的导出,我不能做一个不同的数据库导出,因为客户端不再有db

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub Parser()
Dim I As Integer
Dim J As Integer
Dim IMax As Integer
Dim CurrentValue As Integer
Dim CommaSet As Boolean

IMax = Range("A2").End(xlDown).Row

For I = 2 To IMax
    CurrentValue = Cells(I, 1).Value
    Call Cells(I, 3).Clear
    CommaSet = False
    For J = 2 To IMax
        If Cells(J, 2).Value = CurrentValue Then
            If CommaSet Then
                Cells(I, 3).Value = Cells(I, 3).Value + ", "
            Else
                CommaSet = True
            End If
            Cells(I, 3).Value = Cells(I, 3).Value + Chr(63 + J)
        End If
    Next
Next

End Sub