Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2017, 07:41   #1
lioni
Новичок
Джуниор
 
Регистрация: 05.10.2017
Сообщений: 1
Восклицание Группировка страниц книги с таблицами, раазный порядок столбцов

Добрый день, уважаемые форумчане!

Столкнулись с интересной задачей, думаю ее решение поможет не только нам.

Книга1 в ней может быть несколько листов с таблицами у которых заголовки столбцов одинаковые, НО порядок разный, может быть только один столбец или несколько в перемешку с данными. (столбцов с данными может быть 50+)

Идея в том, чтобы из всех листов с таблицами, сгруппировать данные в одну таблицу, например добавить из всех листов книги, данные в первый лист.
Решение наверное связанное с функцией ВПР, пробовали сами, но ничего не выходит.

Подскажите пожалуйста!

Пример файла прикрепляю.
Вложения
Тип файла: xlsx тест1.xlsx (11.4 Кб, 17 просмотров)
lioni вне форума Ответить с цитированием
Старый 05.10.2017, 08:25   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

тупо в циклах:
- собрать на новый лист названия столбов
- пройтись по листах перебирая названия их столбцов
--копировать значения в соответствующий столбец "общего" листа

вариант 2
- пройтись по листам собирая данные в collection с ключем "названия поля"
- вывести collection на лист
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 06.10.2017, 07:47   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно так:
Код:
Sub Svod()
    Dim ws As Worksheet, i As Long, j As Long, x As Range
    Application.ScreenUpdating = False: Application.DisplayAlerts = False
    On Error Resume Next: Sheets("Total").Delete: On Error GoTo 0
    Sheets.Add.Name = "Total"
    For Each ws In Sheets
        If ws.Name <> ActiveSheet.Name Then
            For i = 1 To ws.Cells(1, Columns.Count).End(xlToLeft).Column
                Set x = Rows(1).Find(ws.Cells(1, i))
                If x Is Nothing Then
                    ws.Columns(i).Copy Cells(1, Columns.Count).End(xlToLeft).Offset(, 1)
                Else
                    j = ws.Cells(Rows.Count, i).End(xlUp).Row
                    If j > 1 Then ws.Range(ws.Cells(2, i), ws.Cells(j, i)).Copy _
                        Cells(Rows.Count, x.Column).End(xlUp).Offset(1)
    End If: Next: End If: Next: Columns(1).Delete
End Sub
Пример во вложении. Откройте файл и выполните макрос "Svod".
Вложения
Тип файла: rar тест1.rar (15.1 Кб, 15 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 06.10.2017 в 07:49.
SAS888 вне форума Ответить с цитированием
Старый 15.10.2017, 15:14   #4
Djm
 
Регистрация: 01.10.2017
Сообщений: 7
По умолчанию Функция ГПР()

Можно использовать функцию ГПР() (если не хотите пользоваться макросом от SAS888. При этом названия столбцов (все) должны присутствовать на каждом листе (в любой последовательности) иначе формула выдает ошибку, или можно немножко усложнит формулу
Вложения
Тип файла: xls тест1.xls (10.5 Кб, 11 просмотров)
Djm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Группировка по выделенному в сводной таблицами с помощью кода VBA s_bag Microsoft Office Excel 0 01.09.2014 22:27
Doxygen порядок следования страниц chechestor Общие вопросы по программированию, компьютерный форум 0 02.07.2014 15:39
Группировка заблокированных столбцов NVolna Microsoft Office Excel 4 22.07.2013 15:13
Группировка строк/ столбцов mihakr Microsoft Office Excel 14 28.08.2009 12:34
Группировка строк и столбцов по опребеленному признаку aas Microsoft Office Excel 1 03.12.2008 17:25