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

Вход

Регистрация

Напомнить пароль

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » извлечь из таблицы данные (Формулы/Formulas)
извлечь из таблицы данные
Hugo Дата: Вторник, 21.07.2020, 21:17 | Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3020
Репутация: 655 ±
Замечаний: 0% ±

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

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
[/vba]


excel@nxt.ru
webmoney: E265281470651 R418926282008 Z422237915069


Сообщение отредактировал Hugo - Вторник, 21.07.2020, 21:25
 
Ответить
СообщениеНе, ещё не всё. Мой код сейчас подтягивает данные во вторую таблицу по уже занесённым туда названиям, а нужно сделать чтоб как PQ делает - названия берутся из источника.
Вот, теперь вторая таблица генерится в коде. Правда без рамки, но если нужно - можно добавить.
[vba]
Код

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
[/vba]

Автор - Hugo
Дата добавления - 21.07.2020 в 21:17
Мир MS Excel » Вопросы и решения » Вопросы по Excel » извлечь из таблицы данные (Формулы/Formulas)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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