Версия для слабовидящих
Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

 

= Мир MS Excel/извлечь из таблицы данные - Страница 2 - Мир MS Excel

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_, DrMini  
извлечь из таблицы данные
Hugo Дата: Вторник, 21.07.2020, 21:17 | Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Не, ещё не всё. Мой код сейчас подтягивает данные во вторую таблицу по уже занесённым туда названиям, а нужно сделать чтоб как PQ делает - названия берутся из источника.
Вот, теперь вторая таблица генерится в коде. Правда без рамки, но если нужно - можно добавить.


Option Explicit

Sub tt()
    Dim a, el, i&, t$, col As New Collection

    a = ActiveSheet.UsedRange.Columns(1).Resize(, 3).Value

    With CreateObject("Scripting.Dictionary")
        For Each el In Array(510101, 510102, 510103)
            .Item(el) = 0&
        Next
        For i = 2 To UBound(a)
            If Len(a(i, 2)) = 0 Then
                If Len(a(i, 1)) Then t = a(i, 1): col.Add t
            End If
            If .exists(a(i, 1)) Then
                .Item(t & "d") = a(i, 2)
                .Item(t & "c") = a(i, 3)
            End If
        Next

        ReDim a(1 To col.Count + 1, 1 To 3)
        a(1, 2) = [b1]
        a(1, 3) = [c1]
        For i = 2 To UBound(a)
            a(i, 1) = col(i - 1)
            a(i, 2) = .Item(a(i, 1) & "d")
            a(i, 3) = .Item(a(i, 1) & "c")
        Next
        [i3].Resize(UBound(a), 3).Value = a
    End With
End Sub



webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD


Сообщение отредактировал Hugo - Вторник, 21.07.2020, 21:25
 
Ответить
СообщениеНе, ещё не всё. Мой код сейчас подтягивает данные во вторую таблицу по уже занесённым туда названиям, а нужно сделать чтоб как PQ делает - названия берутся из источника.
Вот, теперь вторая таблица генерится в коде. Правда без рамки, но если нужно - можно добавить.
[vba]
Option ExplicitSub tt()    Dim a, el, i&, t$, col As New Collection    a = ActiveSheet.UsedRange.Columns(1).Resize(, 3).Value    With CreateObject("Scripting.Dictionary")        For Each el In Array(510101, 510102, 510103)            .Item(el) = 0&        Next        For i = 2 To UBound(a)            If Len(a(i, 2)) = 0 Then                If Len(a(i, 1)) Then t = a(i, 1): col.Add t            End If            If .exists(a(i, 1)) Then                .Item(t & "d") = a(i, 2)                .Item(t & "c") = a(i, 3)            End If        Next        ReDim a(1 To col.Count + 1, 1 To 3)        a(1, 2) = [b1]        a(1, 3) = [c1]        For i = 2 To UBound(a)            a(i, 1) = col(i - 1)            a(i, 2) = .Item(a(i, 1) & "d")            a(i, 3) = .Item(a(i, 1) & "c")        Next        [i3].Resize(UBound(a), 3).Value = a    End WithEnd Sub
[/vba]

Автор - Hugo
Дата добавления - 21.07.2020 в 21:17
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!