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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2016, 11:56   #1
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию Создание итоговой таблицы

Уважаемые форумчане, здравствуйте!
Прошу Вашей помощи вот в каком вопросе:
Имеется лист "ИД"(см. вложение) на который "сброшены"(разделены пустыми строками) данные по месяцам(допустим - январь, февраль, март). Необходимо средствами VBA сформировать итоговую таблицу на отдельном листе по образу и подобию, как на листе "Итог".
"Прошелся" по форумам с нулевым результатом в итоге. С чего хоть начинать? Сводная таблица, сортировка(критерии - участок, блок, пласт), консолидация или все в обратном порядке?
Благодарю за внимание.
Вложения
Тип файла: rar Итог.rar (15.1 Кб, 19 просмотров)
Trimbl вне форума Ответить с цитированием
Старый 10.03.2016, 12:18   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а нужно было всего-лишь
создать лист данные
сделать колонки
дата
участок
блок
пласт
экскаватор
добыча

и строчка за строчкой вносить данные хоть каждый день, хоть 1 раз в месяц, хоть по мере поступления

а потом сводная, фильтр по датам и...
и у вас постоянно ГОТОВЫЙ ОТЧЕТ (за выбранный период времени)

или

на том же листе, над шапкой несколько строк для вычисления итогов, в ячейках несколько формул с =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(...) фильтром выбираете все, что хотите, а ПРОМЕЖУТОЧНЫЕ.ИТОГИ посчитаю суммы и пр. по отфильтрованным данным

и никогда в жизни больше не паритесь над составлением отчетов, а формируете их несколькими нажатиями кнопок мыши
одно неудобство - необходимо постоянно дописывать в исходную таблицу поступающие данные
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.03.2016, 13:56   #3
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

IgorGO, спасибо за ликбез, на досуге поэксперементирую, но все-же исхожу из того, что имеем. Все три таблицы листа "ИД" составляются на первое число следующего за отчетным периодом(месяцем) и колонки дата как таковой не существует. Конечно можно создать лист данные (представляющий из себя некий каламбур записей) с колонкой дата для последующей фильтрации и благодаря наличию которого будут создаваться промежуточные итоги - январь, февраль и т.д.
Но опять-же, я о своем, - используя то что имеем(лист ИД) через макрос можно ли создать сводную таблицу и отфильтровать ее по критерию - участок, потом -блок и наконец пласт ?
Trimbl вне форума Ответить с цитированием
Старый 10.03.2016, 16:41   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение
Вложения
Тип файла: rar Итог.rar (26.5 Кб, 21 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.03.2016, 04:36   #5
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

Совсем рядом, однако несколько не то.
1. Изначально существует только лист ИД, лист Итог необходимо создать. Отсюда и кнопка Bavzay должна быть на листе ИД.(это мелочи, думаю смогу "подпилить" Ваш код).
2. Возможно ли константу (Const U As String = "ЮжныйСеверБолотный") брать из заранее созданного(именованного) диапазона т. к. при изменении или добавлении участков придется править код.
3. Формирование отсортированных данных на листе Итог начать со строки 17 столбец В(как в примере Итог).
4. Сортировку данных код выполняет не до конца(см пример вложение Итог 1 лист Итог) т.е. нарушена последовательность отображения названий участков и отсутствует Болотный Блок2 пласт I.
P.S. Представленный порядок отображения пластов желателен, но не обязателен. Сообщение "нет такого!!!" излишне т.к. это результат моей описки.
Вложения
Тип файла: rar Итог 1.rar (26.1 Кб, 6 просмотров)
Trimbl вне форума Ответить с цитированием
Старый 11.03.2016, 05:06   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
1. Изначально существует только лист ИД, лист Итог необходимо создать
Один раз нажали кнопку - и уже существует. что делать при 2, 3, ... Х-ом нажатии кнопки?
Цитата:
4. Сортировку данных код выполняет не до конца
я Вам больше скажу - в коде данные вообще не сортируются. они записывались в уже существующие строки с названиями участков и блоков
Цитата:
Сообщение "нет такого!!!" излишне
в моем алгоритме - это важное сообщение, которое указывало, что итоговая таблица не согласована с исходными данными и было не понятно куда записать данные
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.03.2016, 02:24   #7
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

Да, все очень печально.
Вот нашел код форумчанина КаМММ(подработал немного, надеюсь не на шкодил.)
Код:
Sub Сортировочка()
Dim Строка, i17
Строка = Range("B65536").End(xlUp).Row 'Поиск последней строки
R = "B17:X" & Строка 'Предполагаю что столбцов не больше чем 24
Range(R).Select
    Selection.Sort Key1:=Range("B18")
For i17 = 1 To Строка
    If Cells(i17, 1) <> Cells(i17 + 1, 1) Then GoTo дальше 'Проверка совпадений
    Cells(i17, 1) = "" 'Удаление совпадений
дальше:
Next i17
Range(R).Select
    Selection.Sort Key1:=Range("B2")
Строка = Range("B65536").End(xlUp).Row & ":" & i17
Rows(Строка).Select
Selection.Delete Shift:=xlUp 'Удаление совпадений
End Sub
Данный код сортирует по столбцу В, а
можно ли на основании этого кода (доработав его) произвести сортировку по трем столбцам(B;С; D) одновременно и в порядке(не в алфавитном), а по мере нахождения совпадений т.е. взяв за основу критерии(столбца B) , начиная с строки №17?(В порядке их следования(появления) до сортировки: 1. Южный 2. Север 3. Болотный)?
Trimbl вне форума Ответить с цитированием
Старый 13.03.2016, 11:00   #8
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Trimbl Посмотреть сообщение
Код:
...    If Cells(i17, 1) <> Cells(i17 + 1, 1) Then GoTo дальше 'Проверка совпадений
    Cells(i17, 1) = "" 'Удаление совпадений
дальше:
Next i17
....
Мсье знает толк в извращениях!

Цитата:
Сообщение от Trimbl Посмотреть сообщение
Данный код сортирует по столбцу В, а
можно ли на основании этого кода (доработав его) произвести сортировку по трем столбцам(B;С; D) одновременно и в порядке(не в алфавитном), а по мере нахождения совпадений т.е. взяв за основу критерии(столбца B) , начиная с строки №17?(В порядке их следования(появления) до сортировки: 1. Южный 2. Север 3. Болотный)?
Ищи реализацию "Сортировка по настраиваемым спискам"
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.03.2016, 13:15   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сортировка по списку - это встроенная функционал, лежит в Excel и его не нужно искать)

см.вложение
Вложения
Тип файла: rar Итог.rar (38.4 Кб, 22 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.03.2016, 15:07   #10
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

IgorGO, большое спасибо за терпение и код. BANZAY так BANZAY даже дух захватывает от подобной прелести. Два дня пытался осмыслить Ваш код, но очевидно сделано все уж очень "зело умно". Просьба, по возможности, хоть в кратце прокомментировать код SummData
Trimbl вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формирование итоговой динамической таблицы из двух отдельных таблиц akd2009 Microsoft Office Excel 4 27.10.2014 11:30
вывод итоговой оценки alex(21) Microsoft Office Access 2 10.10.2012 00:10
Составить программу обработки итоговой таблицы чемпионата по футболу. yuliyayuliya Помощь студентам 1 28.04.2011 03:17
Работа с файлами и записями. Помощь с итоговой Refenement Помощь студентам 13 19.03.2009 08:42
Готовимся к Итоговой Государственной Аттестации !!! Mika-mhs Паскаль, Turbo Pascal, PascalABC.NET 14 09.06.2008 18:21