Не, ещё не всё. Мой код сейчас подтягивает данные во вторую таблицу по уже занесённым туда названиям, а нужно сделать чтоб как PQ делает - названия берутся из источника. Вот, теперь вторая таблица генерится в коде. Правда без рамки, но если нужно - можно добавить.
Option Explicit
Sub tt() Dim a, el, i&, t$, col AsNew Collection
a = ActiveSheet.UsedRange.Columns(1).Resize(, 3).Value
WithCreateObject("Scripting.Dictionary") For Each el InArray(510101, 510102, 510103)
.Item(el) = 0& Next For i = 2ToUBound(a) IfLen(a(i, 2)) = 0Then IfLen(a(i, 1)) Then t = a(i, 1): col.Add t EndIf If .exists(a(i, 1)) Then
.Item(t & "d") = a(i, 2)
.Item(t & "c") = a(i, 3) EndIf Next
Не, ещё не всё. Мой код сейчас подтягивает данные во вторую таблицу по уже занесённым туда названиям, а нужно сделать чтоб как PQ делает - названия берутся из источника. Вот, теперь вторая таблица генерится в коде. Правда без рамки, но если нужно - можно добавить.
Option Explicit
Sub tt() Dim a, el, i&, t$, col AsNew Collection
a = ActiveSheet.UsedRange.Columns(1).Resize(, 3).Value
WithCreateObject("Scripting.Dictionary") For Each el InArray(510101, 510102, 510103)
.Item(el) = 0& Next For i = 2ToUBound(a) IfLen(a(i, 2)) = 0Then IfLen(a(i, 1)) Then t = a(i, 1): col.Add t EndIf If .exists(a(i, 1)) Then
.Item(t & "d") = a(i, 2)
.Item(t & "c") = a(i, 3) EndIf Next