Страницы: 1
RSS
Формирование итоговой динамической таблицы
 
Всем добрый день.
Прошу помочь решить, казалось бы, несложную проблему, однако... :
1. Есть две промежуточные таблицы, каждая из которых имеет произвольное кол-во строк.
2. Как сформировать итоговую динамическую таблицу, которая бы включала в себя слегка видоизмененную инф-ию из каждой из двух таблиц?

Пытался решить проблему с помощью сводных таблиц, но пока не получается.
Заранее благодарен!
 
как вариант, если значения не повторяются.
зы ключевые позиции нижней таблицы не совпадали с таблицой 3 и 4
 
Спасибо большое, но это немного не то.
Мне нужно, чтобы в итоговой таблице, изначально пустой, формировался сначала список дверей на основе Таблицы 3.
Поскольку дверей каждый раз заказывается разное кол-во, и список, соответственно, разной длины. И именно в его конце так же автоматически формировался список на основе Таблицы 4, причем названия в колонке Артикул также должны формироваться автоматически.
 
В таблице 4 горизонтальную шапку можно сделать Облицовка тип 4 (а не Облицовка 210 2.0 тип 4)
и так далее, поскольку в итоговую таблицу вы выводите Облицовка тип 4-28  
 
ну, значит либо сводные таблицы,, либо макросы. Для сводных нужно преобразовать исходные таблицы в вертикальные. а потом только делать сводные.
 
Во-первых, есть определенная номенклатура, во-вторых - что в принципе это меняет? Основная проблема мне видится в том, как дописать эти данные в таблицу, заранее не зная координаты.
 
Цитата
как дописать эти данные в таблицу, заранее не зная координаты.
Макрос для дверей
Код
Sub Podbor()
Dim BeginTable3 As Long
Dim EndTable3 As Long
Dim BeginTableItogo As Long
Dim i As Long
Dim iLastRow As Long
     BeginTable3 = Columns(2).Find("Таблица 3", , xlValues, xlWhole).Row + 2
     EndTable3 = Cells(BeginTable3 - 2, 2).End(xlDown).Row
        iLastRow = Cells(Rows.Count, 2).End(xlUp).Row + 1
        'очищаем диапазон под итоговую таблицу
        Range("B70:C" & iLastRow).ClearContents
        ' цикл по дверям
    For i = BeginTable3 To EndTable3
        If Cells(i, 2) <> "" Then
            iLastRow = Cells(Rows.Count, 2).End(xlUp).Row + 1
            Cells(iLastRow, 2) = Cells(i, 2) & "-" & Cells(i, 4)
            Cells(iLastRow, 3) = Cells(i, 5)
        End If
    Next
        iLastRow = Cells(Rows.Count, 2).End(xlUp).Row + 1
End Sub 
Страницы: 1
Наверх