Нужно преобразовать исходную таблицу. В ней два столбца (Артикул и Инвойс №). Данные в столбцах не уникальные, т.е. могут повторяться по несколько раз в каждом из столбцов.
Таблицу нужно преобразовать таким образом, что бы в первом столбце данные не повторялись (Артикулы), а последующих столбцах последовательно выводились все номера инвойсов, соответствующие определенному артикулу.
Подскажите, пожалуйста, как это можно сделать ? есть ли Готовое решение ?
'запускать при активном листе Преобразованная табл
Sub iArticul_Invoice()
Dim i As Long
Dim iLastRow As Long
Dim FoundCell As Range
Dim FAdr As String
Dim j As Integer
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("B2:G" & iLastRow).ClearContents
With Worksheets("Исходная табл")
For i = 2 To iLastRow
j = 2
Set FoundCell = .Columns(1).Find(Cells(i, 1), , xlValues, xlWhole)
If Not FoundCell Is Nothing Then
FAdr = FoundCell.Address
Do
Cells(i, j) = .Cells(FoundCell.Row, 2)
Set FoundCell = .Columns(1).FindNext(FoundCell)
j = j + 1
Loop While FoundCell.Address <> FAdr
End If
Next
End With
End Sub