Você pode fazer essa etapa de transformação com a Microsoft gratuita
Não é VBA, mas, neste caso, existem alguns passos para codificar, além do uso da interface do usuário.
Tabela"Dataset" - > saída de dados do Power Query
- Defina o Dataset como tabela (eu o chamo de "Dataset" no script a seguir)
- Na faixa de opções Power Query, importe a tabela na interface do usuário ("Da tabela")
- Coloque o script abaixo no editor avançado (vista da faixa de opções - > editor avançado)
Aqui está o código M:
let
Source = Excel.CurrentWorkbook(){[Name="Dataset"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Sales order number", Int64.Type}}),
#"Merged Queries" = Table.NestedJoin(#"Changed Type",{"Sales order number"},#"Changed Type",{"Sales order number"},"NewColumn",JoinKind.LeftOuter),
// Function for Merging the matching rows
List_MatchingRows=(Table, Column) =>
let
ColumnToMerge = Table.SelectColumns(Table, Column),
ListMatch = Table.ToList(ColumnToMerge),
SingleLine = Text.TrimEnd(Text.TrimEnd(Lines.ToText(ListMatch, ", ")," "),",")
in
SingleLine,
#"Added Custom" = Table.AddColumn(#"Merged Queries", "Sold by", each List_MatchingRows([NewColumn],"Name")),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"NewColumn"})
in
#"Removed Columns"