При выгрузке данных из XML файла получается таблица см. Лист1. Проблема - ячейки с данными сдвинуты относительно друг друга по строкам.
Надо сделать данные по человеку в одну строку. см. Лист2
Сложность еще в том, что у одного человека бывает несколько записей, а бывает и одна запись
Если это поможет, то ключевое поле в базе данных - IDCASE - уникальное для каждой записи
Public Sub www()
Dim a, i&, j&, n&
a = [a1].CurrentRegion.Value
ReDim b(1 To UBound(a), 1 To UBound(a, 2))
For i = 1 To UBound(a)
If a(i, 4) <> "" Then n = n + 1
For j = 1 To UBound(a, 2)
If a(i, j) <> "" Then b(n, j) = a(i, j)
Next
Next
With Worksheets.Add(after:=Sheets(Sheets.Count))
.Range("A:A,M:M").NumberFormat = "@"
.[a1].Resize(n, UBound(a, 2)) = b
End With
End Sub
Спасибо громадное, сам пробовал написать цикл через ВПР . - получается громоздко и коряво. А здесь очень все элегантно