Você deve se perguntar se precisa de uma solução genérica (outra é de Allen Browne ) ou se você precisar dele apenas para o presente propósito. Se você realmente só precisa disso uma vez, faça da maneira mais fácil.
Em uma nota lateral, ao concatenar listas no código VBA, aproveite um truque ensinado a mim pelo guru de acesso de longa data Trevor Best, que é colocar o delimitador no início de cada valor e depois usar Mid() para removê-lo fora. Em vez disso dentro do seu loop pelos registros filhos:
If Len(strOutput) = 0 Then
strOutput = NewValue
Else
strOutput = strOutput & ", " & NewValue
End If
...use isso dentro do loop:
strOutput = strOutput & ", " & NewValue
... e então quando você sair do loop, retire o delimitador inicial:
strOutput = Mid(strOutput, 3)
Isso tem implicações em todos os lugares e simplifica o código para concatenação em toda uma série de contextos.